Lua - ループ: 繰り返しの芸術を掌握する
こんにちは、志を抱くプログラマーさん!Luaのループの世界へのエキサイティングな旅へようこそ。あなたの近所の親切なコンピュータ教師として、この基本的な概念をガイドするのを楽しみにしています。ループはプログラミングのDJのようなものです。良いものを繰り返してパーティを続けます!それでは、一緒にどうやってコードを繰り返しのリズムに合わせて踊らせることができるか探ってみましょう。
ループとは?
まず、ループとは何かを理解しましょう。Imagine you're tasked with writing "I love Lua" on a blackboard 100 times. Sounds tedious, right? That's where loops come to the rescue! They allow us to execute a block of code multiple times without having to write it over and over again. It's like having a magical pen that writes for you!
Luaのループの種類
Luaは私たちに3つの主要なループを提供しています。さあ、私たちのループ家族に会いましょう:
ループの種類 | 説明 | 使用シーン |
---|---|---|
while | 条件が真の間にコードブロックを繰り返す | 繰り返す回数が分からない場合 |
repeat | コードブロックを少なくとも1回実行し、条件が真の間に繰り返す | コードを少なくとも1回実行したい場合 |
for | 特定の回数のコードブロックを繰り返す | 繰り返す回数が正確に分かっている場合 |
それでは、これらのループの種類を詳しく探ってみましょう。
The While Loop: The Cautious Repeater
while
ループは、注意深い友達のように、何かをやる前に常に確認します。指定された条件が真の間にコードブロックを繰り返します。
local count = 1
while count <= 5 do
print("Count is: " .. count)
count = count + 1
end
この例では、count
が1から始まります。ループはcount
が5以下かどうかを確認します。それが(true)の場合、現在のcountを表示し、1増やします。このプロセスはcount
が6になるまで繰り返され、その時点で条件が(false)になり、ループが停止します。
出力:
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
The Repeat Loop: The Optimistic Doer
repeat
ループは、行動してから質問する友達のようです。少なくとも1回コードブロックを実行した後、条件を確認します。
local num = 1
repeat
print("Number is: " .. num)
num = num + 1
until num > 5
ここでは、数字を表示し、インクリメントします。ループはnum
が5を超えるまで続きます。num
が5を超えて始まる場合でも、このループは少なくとも1回実行されます。
出力:
Number is: 1
Number is: 2
Number is: 3
Number is: 4
Number is: 5
The For Loop: The Precise Planner
for
ループは、細かい計画を立てる人のようなものです。特定の回数を繰り返したいときに最適です。
数値Forループ
for i = 1, 5 do
print("Iteration: " .. i)
end
このループはi
が1から始まり、5に達するまで続け、1ずつインクリメントします。
出力:
Iteration: 1
Iteration: 2
Iteration: 3
Iteration: 4
Iteration: 5
ステップ付きForループ
異なるステップ値を指定することもできます:
for i = 0, 10, 2 do
print("Even number: " .. i)
end
このループは0から始まり、10に達するまで2ずつインクリメントし、偶数を返します。
出力:
Even number: 0
Even number: 2
Even number: 4
Even number: 6
Even number: 8
Even number: 10
ゼネリックForループ
Luaには、テーブルの要素を反復するゼネリックForループもあります:
local fruits = {"apple", "banana", "cherry"}
for index, value in ipairs(fruits) do
print(index .. ": " .. value)
end
このループはfruits
テーブルの各アイテムを反復し、インデックスと値の両方を返します。
出力:
1: apple
2: banana
3: cherry
ループ制御文
時々、ループを制御する必要があります。そのためにはループ制御文が便利です。
Break文
break
文は緊急出口のようなものです。ループを途中で終了させることができます:
for i = 1, 10 do
if i > 5 then
break
end
print("Number: " .. i)
end
このループはi
が5を超えると停止します。
出力:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
Continue文 (Lua 5.2+)
Lua 5.2ではgoto
文が導入され、continue
をシミュレートすることができます:
for i = 1, 5 do
if i % 2 == 0 then
goto continue
end
print("Odd number: " .. i)
::continue::
end
このループは偶数をスキップし、奇数のみを表示します。
出力:
Odd number: 1
Odd number: 3
Odd number: 5
無限ループ:慎重に扱う!
無限ループは、終わりのない物語のようなものです。終了点のないループです:
while true do
print("This is an infinite loop!")
end
無限ループには注意してください!プログラムが停止する原因になります。意図的に使用する場合でも、抜け出す方法を常に確保してください。
結論
おめでとうございます!Luaのループの whirlwind tour を終了しました。ループはあなたのプログラミングツールキットの強力なツールです。繰り返しのタスクを自動化し、コードをより効率的にします。異なる種類のループを練習し、すぐにプロのようにループを使えるようになります!
最後に、ちょっとしたプログラミングのユーモア:プログラマーがダークモードを好む理由は何でしょうか?光は虫を引き寄せるからです!
コードを続け、学び続け、覚えておいてください - プログラミングの世界では、ループで回るのは全く問題ありません!
Credits: Image by storyset