Lua ternary operator - multiple variables -


say want assign 2 values 2 variables if condition true, , 2 different values if said condition false. assume done this:

a, b = 4 > 5 , 1, 2 or 3, 4 

however assigns false, , b 2. if have:

a, b = 4 < 5 , 1, 2 or 3, 4 

this correctly assigns 1 , b 2.

what missing here, how can "ternary operator" work expect?

you missing lua's and , or short-cutting , commas lower in hierarchy. happens here first 4 > 5 , 1 evaluated false , 2 or 3 evaluated 2, 4 ignored. in second case 4 < 5 true, 4 < 5 , 1 1, rest stays is.

as egor skriptunoff suggested can do

a, b = unpack(4 > 5 , {1,2} or {3,4}) 

instead.


Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -