0、1、または 2 つの引数で呼び出される関数があります。入力された引数の数と、それらが実際の数値であるかどうかをテストしたいと思います。コードは次のとおりです。
first = tonumber(frame.args[1])
second = tonumber(frame.args[2])
if first then
if first <= second then
return math.random(first, second)
end
return math.random(first)
end
return math.random()
私の考えでは、それらが数値でない (または空である) 場合、tonumber() を呼び出すと、変数は false になります。<= は、両方が NaN の場合に true になる可能性がありますが、「最初に」数値として存在する必要があるため、両方とも数値である必要があり、比較によって if ステートメントが短絡することはありません。if が失敗した場合は、次の有効な戻り値までスキップします。良さそう?誰でも問題が見られますか?