Githubでいくつかのルーア・コードをブラウズしていますが、return Memory.value("game", "textbox") == 1
のような文があります。
「等しい」return if value ==1
またはif value == 1 return true, else return false
ですか?ルアの奇妙なリターン・ステートメント
答えて
と関数呼び出しの結果を比較return
はキーワードであり、引数ではなく条件式を持っています。明示的にreturn
と記載されている場合は、それが返されます。しかし、それは論理的な側面が作用するときにそれを評価します。
私は論理的な側面に入るつもりです。
==
は比較演算子であり、引数がであるかどうかを確認します。です。そうならtrueを返します。したがって、return
で使用される場合、return
が評価され、等しい場合はtrueを返します。
==
に限定されるものではない
、任意の比較演算子(~=
、<=
、>=
、<
、>
)まったく同じことを行います。
and
,は少し異なって動作します。彼らは真偽を返さない。
return a and b
:ここでは、彼らがどのように動作するかだ真(偽どちらでもnil)
return a or b
Bリターン場合、これは基本的にと評価されます。これは、基本的に変換する*真である場合(偽のどちらでもnil)そうでない場合は、あなたが想像できるように
bを返す、返す、return a and b or c
のようなものはそう
if a then
if b then
return b
else
return c
end
else
return c
end
意味します210はnot
、return ((a and b) or c)
へと完了のために同等であるだけでそれを評価し、それ反転させ、それはそれはnil /偽だ場合はtrueを返す、そうでない場合はfalseを返します。
return
ステートメントは、引数として式が必要です。つまり、return expression
と書くと、評価値expression
が返されます。この特定の場合において
、Memory.value("game", "textbox") == 1
はMemory.value("game", "textbox")
の戻り値が1
に等しい場合true
に評価される式です。 Memory.value("game", "textbox")
が1
以外の値である場合、式はfalse
と評価されます。これはreturn
文が返すものです。
あなたは簡単に
if (Memory.value("game", "textbox") == 1) then
return true
else
return false
end
として与えられた文を書くことができます。しかし、これは論理的に冗長であるとして、あなたはこのコードを書く避け、代わりにあなたが提供される一つのライナーを使用したいと思います。
あなたの質問は、あなたがPerlを知っているということです。いいえ、それはPerlのようなものではなく、 `if 'や同様のステートメントの条件がステートメントの後に続くことができます。
return
は、ゼロ以上の戻り値のリストが必要です。関数は任意の長さのリストを返すことができます。また、任意の数のreturn文を持つことができ、同じ長さまたは意味のリストを返す必要はありません。したがって、関数のドキュメントは不可欠です。例としてloadを参照してください。
この文は、true
またはfalse
を返します。
はそれがテーブルとしてメモリによって参照値、「値」を持つインデックスを扱い、2つの文字列引数を持つ関数として得られた値を呼び出し、値1
- 1. 奇妙なSQLステートメント
- 2. PHPのifステートメントの奇妙な問題
- 3. If()ステートメントの奇妙な動作
- 4. Selectステートメントの奇妙な行動
- 5. PHP/MySQLのPDOのための奇妙な行数のリターン
- 6. Javaのcatchブロックでのリターンの奇妙な問題
- 7. "é"という文字列の奇妙な長さのリターン2
- 8. INSERTステートメントでのCAST()の奇妙な動作
- 9. Visual Studio 2008のステートメントが奇妙な場合
- 10. MySQLは、奇妙な結果を返すWHEREステートメントのビット単位
- 11. "in"ステートメント(NodeJS)の奇妙な振る舞い
- 12. 奇妙なスタックオーバーフロー?
- 13. 奇妙なメッセージ
- 14. 奇妙なエラー
- 15. 奇妙なファビコン
- 16. 奇妙なFSharpLint
- 17. 奇妙なエラー
- 18. 奇妙なコメント
- 19. 奇妙なクラッシュループ
- 20. 奇妙なバグ
- 21. 奇妙なコーディネータクエリエスケープ
- 22. 奇妙なArrayIndexOutOfBoundsException
- 23. 奇妙な値
- 24. 奇妙なジェネリックスエラー
- 25. 奇妙なループステートメント
- 26. 奇妙なエラー
- 27. 奇妙なカスタムアクション
- 28. 奇妙なディビジョンビヘイビア
- 29. 奇妙な(?)オペラフローティング
- 30. 奇妙なコンパイラエラー