And/Orのテクニック
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Lua演習]]
*and/orを使ったテクニック [#jd84cf5c]
Luaのand/orはただ単に真偽値を返すのではなく、なかなかに複...
以下Lua5.0リファレンス2.5.3より引用
論理積演算子 and は、最初の引数が false か nil ならその...
論理和演算子 or は最初の引数が false か nil 以外ならその...
and と or は共にショートカット評価を行う。つまり、二番目...
ということである。このand/orの「二番目の引数を返す」動作に...
-初期化&br;
「もし変数が初期化されていなければ一定の値で初期化する」...
if arg == nil then arg = default_value end
という記法に対して、
arg = arg or default_value
と書くことが可能となる。又、このイディオムを用いることで...
-3項演算子&br;
Luaは他の言語には多く備えられる三項演算子"?:"を持たないが...
すなわち、以下のようにする。
foo = flag and value1 or value2
and演算子の方がorヨリも優先順位が高いため、flagが真であれ...
-メソッド呼び出し&br;
オブジェクト志向の書き方をしている場合、"もしfooがnilでな...
ret = foo and foo:bar()
等の記述によってif文を省略することが可能である。
終了行:
[[Lua演習]]
*and/orを使ったテクニック [#jd84cf5c]
Luaのand/orはただ単に真偽値を返すのではなく、なかなかに複...
以下Lua5.0リファレンス2.5.3より引用
論理積演算子 and は、最初の引数が false か nil ならその...
論理和演算子 or は最初の引数が false か nil 以外ならその...
and と or は共にショートカット評価を行う。つまり、二番目...
ということである。このand/orの「二番目の引数を返す」動作に...
-初期化&br;
「もし変数が初期化されていなければ一定の値で初期化する」...
if arg == nil then arg = default_value end
という記法に対して、
arg = arg or default_value
と書くことが可能となる。又、このイディオムを用いることで...
-3項演算子&br;
Luaは他の言語には多く備えられる三項演算子"?:"を持たないが...
すなわち、以下のようにする。
foo = flag and value1 or value2
and演算子の方がorヨリも優先順位が高いため、flagが真であれ...
-メソッド呼び出し&br;
オブジェクト志向の書き方をしている場合、"もしfooがnilでな...
ret = foo and foo:bar()
等の記述によってif文を省略することが可能である。
ページ名: