スライドショースライドショー

はじめてのRuby!until文を使った繰り返し処理を紹介

こんにちは!エンジニア兼ライターのヤマシタです。

Rubyにはさまざまな繰り返し処理が用意されています。

ここでは、

「条件が真(true)になるまで繰り返し処理を行いたい」

といった人に向けて、until文の使い方について、

【基礎】until文とは
【基礎】until文の基本的な使い方
【基礎】until文で無限ループする方法
【発展】until文で配列の値を取得する方法
【発展】さまざまな繰り返し処理

などについて解説いたします。

until文は条件式を指定することによって、繰り返し処理を行うことができますので使い方については理解しておきましょう。

until文とは

until文はRubyの繰り返し処理の1つで、条件が偽(false)である限り繰り返し処理を行い、上限が真(true)になったら繰り返し処理を終了します。

until文は以下のように記述します。

until 条件式 do
  繰り返し実行する処理
end

よく似た処理としてwhile文がありますが、違いとして

  • while文は真(true)の間繰り返す
  • until文は偽(failse)の間繰り返す

と覚えておきましょう。

while文については、以下の記事で詳しく解説しています。

untilの使い方

実際にuntil文の使い方を見ていきましょう!

untilの基本的な使い方

以下のプログラムでは値が5になるまで繰り返し処理を行います。

サンプルプログラム:

num = 1

until num ==5 do
  p num
  num +=1
end

実行結果:

1
2
3
4

このように値が5になるまではuntilの条件式はfalseになりますので、繰り返し処理が続行され、5になった時点でtrueとなり繰り返し処理が終了します。

注意点として、until文は条件式がtrueになるまで繰り返し処理を行いますので、式は無限ループにならないように気をつけましょう。

無限ループ

until文は条件がfalseの間、do〜endの繰り返し処理を行います。

そのため、意図的に無限ループを行いたい場合は条件式に「false」を指定します。

until false do
  p “loop!”
end]

実行結果:

“loop!”
“loop!”
“loop!”
“loop!”
“loop!”
〜

このように無限に処理が実行されます。

untilで配列の要素を取得する

untile文で配列の要素を取得したい場合は、配列の要素を1つずつ取得するためのインデックスと、配列の要素数をlengthメソッドを使用して取得しておく必要があります。

サンプルプログラム:

cnt = 0
fruits = [ "apple", "banana", "melon" ]

until cnt == fruits.length do
  p fruits[cnt]
  cnt+=1
end

実行結果:

"apple"
"banana"
"melon"

このサンプルでは、インデックスcntが配列の要素に達する(true)まで、繰り返し処理を行い、配列の値を1つずつ取得しています。

さまざまな繰り返し処理

Rubyではさまざまな繰り返し処理が用意されています。

以下の記事では、Rubyのループ処理をまとめていますのでぜひ参考にしてください!

まとめ

ここでは、条件がfalseの間繰り返し処理を行うuntil文について、

  • until文とは
  • until文の基本的な使い方
  • until文で無限ループする方法
  • until文で配列の値を取得する方法
  • さまざまな繰り返し処理

などについて解説しました。

until文はwhile文と同じく条件式で繰り返し処理を行うときに便利ですので、使い方はしっかりと理解しておきましょう。

もし、until文の使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説