Luaリファレンス 要注意点 ~代入~

代入

  • Luaは代入はステートメントであり、2項演算子ではない。よって
    a = b = c = 0
    
    といったことは不可能。
    = は1つのステートメントに1つだけである。

多重代入

  • 多重代入は、「値を交換」する時や、「関数の戻り値がリストになっていて、これを受け取る時」に利用する。
    a, b = 10, 2
    a, b = b, a -- 値の交換
    
    a, b, c = table.unpack( {1, 2, 3} ) -- 複数の戻り値を受け取る
    

「値のコピー」か「参照」か

  • table型、function型、thread型、userdata型は「参照」
  • nil型、boolean型、number型、string型は「値のコピー」
    (※参照:「」)

トップ   差分 履歴 リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-01-23 (土) 00:00:00