初版は Lua 5.0 向けに書かれました。後継バージョンには関連性が高いですが、違いもあります。
第 4 版は Lua 5.3 を対象としており、Amazon および他の書店で販売されています。
書籍を購入することで、Lua プロジェクトを支援することもできます。
![]() |
Programming inLua | ![]() |
パート I. 言語 第 3 章. 式 |
print(4 and 5) --> 5 print(nil and 13) --> nil print(false and 13) --> false print(4 or 5) --> 4 print(false or 5) --> 5and と or のどちらもショートカット評価を使用します。つまり、必要に応じてのみ 2 番目のオペランドを評価します。
便利な Lua の慣用句として、x = x or v
があります。これは次と等価です。
if not x then x = v endつまり、
x
が設定されていない場合に、x
を既定値 v
に設定します (ただし、x
が false に設定されていない場合)。もう 1 つの便利な慣用句として、(a and b) or c
(または単に a and b or c
。and は or よりも優先度が高いからです) があります。これは、C 式の次と同等です。
a ? b : cただし、
b
が false でない場合に限り当てはまります。たとえば、2 つの数値 x
と y
の最大値を選択する場合は、次のようなステートメントを使用します。max = (x > y) and x or y
x > y
の場合、and の最初の式は true になるので、and は 2 番目の式 (x
) (true でもある。数値だから) を返します。その後、or 式は最初の式、x
の値を返します。x > y
が false の場合、and 式は false になるので、or は 2 番目の式、y
を返します。演算子 not は常に true または false を返します。
print(not nil) --> true print(not false) --> true print(not 0) --> false print(not not nil) --> false
Copyright © 2003–2004 Roberto Ierusalimschy. All rights reserved. | ![]() |