luaの使い方(イテレータとfor文)

luaの覚書です。

luaの使い方

luaはイテレータに対応

イテレータ(iterator)とは、プログラミングにおいて、コレクションなどの集合体の要素を1つずつ取り出すためのメカニズムのことを指します。

具体的には以下のような特徴があります。

  • コレクション内の現在位置を覚えているポインタ的な機能を持つ
  • next()メソッドなどで1要素ずつ進めていくことができる
  • ループ処理で要素を順に取り出せる

Luaではfor文のカウンタ変数としてこのイテレータを利用できます。

for value in ipairs(table) do
  print(value) 
end

ipairsとpairs の違い

  • ipairs : テーブルのキーが数字(整数インデックス)の場合に使用
  • pairs : テーブルのキーが文字列の場合に使用

for文の_,

for文に_, にするか否かは、インディックス番号が必要か否かです。

インデックス番号が必要な場合は、 i や num などの変数を定義します。

for i = 1, #table do
  print(i)  
end

インデックス番号が不要な場合 、 _ を使います。

for _, value in ipairs(table) do 
  print(value)
end 
スポンサーリンク

LuaでClassを追加する関数

function Div(el)
  -- 最初のクラス名が 'iconnote' または 'iconalert' であるか確認
  if el.classes[1] == 'iconnote' or el.classes[1] == 'iconalert' then
    -- 'iconbox' クラスを追加
    table.insert(el.classes, 1, 'iconbox')
    return el
  end
end
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする