2016-06-25 19 views

cevap

7

, çeşitli diğer diller için bu kokan bir değere değerlendirir olarak bir üçlü operatörün eşdeğer EŞİTTİR t.

yüzden x = if false, do: 1, else: 2

temelde x = false? 1 : 2

emin değil (eğer Ruby geliyor ise) ifadeleri eğer atanabilir olduğu gibi Yakut bunu kabul yüzden. C de üçlü ifadeler ile eşdeğer kod bloats olarak yararlıdır. Tabii ki C programcıları çaresizlik için çaresizlik çekti ve iç içe geçmiş üçlüsün üzerine yuva yaptılar (çok fazla).

+1

http://elixir-examples.github.io/examples/ternary –

10

Evet, Elixir'deki üçlü operatör gibi bir şey yok. if'un anahtar kelime sürümü muhtemelen en yakın şeydir.

if condition, do: true_expr, else: flase_expr 
+0

Lütfen ne demek istediğinizi belirtiniz. –

4

Bir tweet bu alternatif göremediği, Bana göre

is_it_true && "TRUE" || "FALSE" 
+4

Bunun önemli bir özellik olduğunu unutmayın: 'is_it_true && false || : foobar' her zaman geri döner: foobar' ve asla 'false'. Bunun nedeni, x && false'in her zaman bir "x" - ve "false || x', her zaman x için herhangi bir değer için "x" değerini değerlendirir. Eğer 'yanlış' yerine 'nil' iseniz, aynısı var. –

+0

'a = true && 1 || 2, eğer onu iyi yapılandırırsanız, burayı göremiyorum. – Besto