プログラミング言語 Lua
■ このスレッドは過去ログ倉庫に格納されています
0294デフォルトの名無しさん
NGNGfunction f0() return end
function f2() return 1,2 end
に対して
a,b,c,d = f2(),f0(),f2(),f0() は a,b,c,d=1,2,1,2 か a,b,c,d = 1,2,nil,1,2 か。
しかし実際はどちらでもなく a,b,c,d = 1,nil,1,nil となる(>>278)。
では print(f2(),f0(),f2(),f0()) はどうか。
これは print(1,nil,1) と等価(省略可能な引数は値がなければ渡されないから)。
まあ仕組みは分かるんだけど、理屈は納得しにくい。
■ このスレッドは過去ログ倉庫に格納されています