2016-06-25 4 views

답변

7

상기는 각종 언어가 '케이 값으로 평가할 삼원 연산자와 동등하면 티.

그렇게 x = if false, do: 1, else: 2

은 기본적으로 x = false? 1 : 2

확실하지 않음 (루비에서 오는 경우) 문 경우가 할당이로 루비를 채택하는 이유. C에서 3 진법은 코드가 동등한 if 문과 함께 부 풀릴 때 유용합니다. 물론 C 프로그래머는 간결함을 간절히 바라지 만 중첩 된 삼자에 중첩 된 많은 것을했습니다 :)

+1

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

10

예, 엘릭서에는 삼항 연산자와 같은 것이 없습니다. 키워드 버전은 if 일 가능성이 가장 높습니다.

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

무슨 뜻인지 예를 들어주십시오. –

4

I는 tweet이 대안을 본 내게

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

이것에는 큰 문제가있다 :'is_it_true && false || : foobar'는 항상': foobar'를 리턴하고'false'를 리턴하지 않습니다. 이것은'x && false'가'x'의 모든 값에 대해 항상 거짓 값으로 평가 될 것이기 때문입니다 - 그리고'false || x'는'x'의 값에 대해서 항상'x'로 평가 될 것입니다. 'false' 대신에'nil'을 사용하면 똑같은 문제가 발생합니다. –

+0

'a = true && 1 || 2 ', 잘 구조화하면 여기에 잡았다가 보이지 않습니다. – Besto