developer tip

Lua의 인라인 조건 (a == b? "yes": "no")?

copycodes 2020. 10. 24. 10:37
반응형

Lua의 인라인 조건 (a == b? "yes": "no")?


어쨌든 Lua에서 인라인 조건을 사용할 수 있습니까?

예 :

print("blah: " .. (a == true ? "blah" : "nahblah"))

확실한:

print("blah: " .. (a and "blah" or "nahblah"))

이 기능이 a and t or f작동하지 않으면 언제든지 함수를 만들 수 있습니다.

function ternary ( cond , T , F )
    if cond then return T else return F end
end

print("blah: " .. ternary(a == true ,"blah" ,"nahblah"))

물론 T와 F가 항상 평가된다는 단점이 있습니다. 삼항 함수에 함수를 제공해야하고 다루기 어려울 수 있다는 점을 우회하려면 다음과 같이하십시오.

function ternary ( cond , T , F , ...)
    if cond then return T(...) else return F(...) end
end

print("blah: " .. ternary(a == true ,function() return "blah" end ,function() return "nahblah" end))

참고 URL : https://stackoverflow.com/questions/5525817/inline-conditions-in-lua-ab-yes-no

반응형