*Luaリファレンス 要注意点 ~比較演算子~ [#q4b16e32]

**比較演算子 [#q9053b94]
-!= ではなく ~= である。~
独特なので注意

-nilはnilとのみ等しいと判定される。nil と false は異なる。~
よってnilとfalseを比較した結果はfalseとなる。

-デフォルトの比較演算子では、''テーブル型、ユーザーデータ、関数''の3種類については、~
該当インスタンスの''アドレス(参照)''が等しい場合のみtrueが返る。~
''中のデータが全て等しくとも、アドレスが異なればfalse''。

-数値同士、もしくは、文字列同士の比較のみ行える。~
''比較演算子に対して、暗黙の数値⇔文字列 変換系は行われない''。(if 3=="3"は絶対false)。

**論理演算子 [#qe8009db]
-and と or~
PerlやC++と同じ挙動。~
and も or も最後に実際に評価した式が式値となる。~
#sh(lua){{
1 and 2     -->  2
nil  and 3  --> nil
4 or 3      -->  4
false or 5  -->  5
}}

-論理演算子による疑似的な三項演算子~
''x = a and b or c'' の形。
#sh(lua){{
max = (x > y) and x or y --> よくあるイディオム
}}

トップ   差分 履歴 リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS