次のようなコードを書いたとします.
hoge, piyo = 10, 20
if( hoge == 10 ) then
if( piyo == 20 ) then
print("hello")
end
end
この式はhogeが10であり,かつpiyoが20である時,Helloが表示されます.
ここで論理演算子というものが存在します(下表).
論理演算子
| x == 10 and y == 20
| xが10 かつ yが20
|
| x == 10 or y == 20
| xが10 または yが20
|
| not x
| xの否定
|
つまり,先ほどの例をこの論理演算子を使って書き直すと次のようになります.
hoge, piyo = 10, 20
if( hoge == 10 and piyo == 20) then
print("Hello")
end
ここで,xの否定とはどういうことを意味しているでしょうか.
hoge = 10
if( not hoge == 10 ) then
print("Hello")
else
print("World")
end
not hoge == 10はhogeが10でない場合は条件が真となり,そうでない場
合は条件が偽となります.
よってこのプログラムは条件が偽となり,Worldと表示されます.
C言語との違い
- &&, ||, ! ではなく and, or, not