Lua - ループ: 繰り返しの芸術を掌握する

こんにちは、志を抱くプログラマーさん!Luaのループの世界へのエキサイティングな旅へようこそ。あなたの近所の親切なコンピュータ教師として、この基本的な概念をガイドするのを楽しみにしています。ループはプログラミングのDJのようなものです。良いものを繰り返してパーティを続けます!それでは、一緒にどうやってコードを繰り返しのリズムに合わせて踊らせることができるか探ってみましょう。

Lua - Loops

ループとは?

まず、ループとは何かを理解しましょう。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