Elixir에서 비슷한 조건부 한 줄 검사를 수행하는 방법은 무엇입니까?Elixir에서 삼항 연산자를 시뮬레이트하십시오.
if (x > 0) ? x : nil
이것은 엘릭서의 세계에서 유일하게 해당되는 것입니까?
if true, do: 1, else: 2
Elixir에서 비슷한 조건부 한 줄 검사를 수행하는 방법은 무엇입니까?Elixir에서 삼항 연산자를 시뮬레이트하십시오.
if (x > 0) ? x : nil
이것은 엘릭서의 세계에서 유일하게 해당되는 것입니까?
if true, do: 1, else: 2
상기는 각종 언어가 '케이 값으로 평가할 는 삼원 연산자와 동등하면 티.
그렇게x = if false, do: 1, else: 2
은 기본적으로 x = false? 1 : 2
확실하지 않음 (루비에서 오는 경우) 문 경우가 할당이로 루비를 채택하는 이유. C에서 3 진법은 코드가 동등한 if 문과 함께 부 풀릴 때 유용합니다. 물론 C 프로그래머는 간결함을 간절히 바라지 만 중첩 된 삼자에 중첩 된 많은 것을했습니다 :)
예, 엘릭서에는 삼항 연산자와 같은 것이 없습니다. 키워드 버전은 if
일 가능성이 가장 높습니다.
if condition, do: true_expr, else: flase_expr
무슨 뜻인지 예를 들어주십시오. –
I는 tweet이 대안을 본 내게
is_it_true && "TRUE" || "FALSE"
이것에는 큰 문제가있다 :'is_it_true && false || : foobar'는 항상': foobar'를 리턴하고'false'를 리턴하지 않습니다. 이것은'x && false'가'x'의 모든 값에 대해 항상 거짓 값으로 평가 될 것이기 때문입니다 - 그리고'false || x'는'x'의 값에 대해서 항상'x'로 평가 될 것입니다. 'false' 대신에'nil'을 사용하면 똑같은 문제가 발생합니다. –
'a = true && 1 || 2 ', 잘 구조화하면 여기에 잡았다가 보이지 않습니다. – Besto
http://elixir-examples.github.io/examples/ternary –