Rubyのunless文の使い方を現役エンジニアが解説【初心者向け】

初心者向けにRubyのunless文の使い方について解説しています。これは条件式が偽の場合に処理を行う条件分岐です。基本の構文とシンプルな例を見てみましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Rubyのunless文の使い方について解説します。

 
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

unless文の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

Rubyのunless文とは

Rubyにおいて条件式が偽となった場合にだけ処理を実行するものとして

unless文

があります。

 

条件分岐で使う

if ~

とは逆の意味となります。

今回はこのunless文を紹介していきたいと思います。

 

Rubyのunless文の使い方

unless文の使い方としては

 

unless 条件式

 実行する処理

end 

 

と書きます。意味としては

条件式が偽である場合にだけ処理を実行する

ということになります。

 

また、

 

実行する処理  unless 条件式

 

という書き方でも同様の意味となります。

実際の開発現場では後者の書き方がほとんどです。

 

また、if 文と同じように

 

unless 条件式

  実行する処理

else

  実行する処理

end

 

という書き方もありますが、

 

if  条件式

  実行する処理

elsif

  実行する処理

else

  実行する処理

end

 

というようにif文の”elsif”に相当するようなものは、unlessにはありません。

 

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは実際に書いていきましょう!!

 

unless 100 == 10
  puts "違います"
end
#=>  違います

 

上記を実行するとこのように表示されます。条件式この場合は”100==10″が偽なら

puts “違います”

を実行するというものです。

こちは条件式が偽なので、puts以下が実行されています。

 

また、この文は

 

puts "違います" unless 100 == 10

 

のように書いても結果的に同じです。

次に以下のような書き方も紹介します。

 

“else”を使った文です。

 

unless 100 == 100
  puts "違います"
else
  puts "同じです"
end
#=> 同じです

 

最初の条件式”100==100″が真ですので

puts “違います”

は実行されず、else以下の

puts “同じです”

が実行されました。

 

この取り扱いはif文と逆になりますが、(if文は条件式が真なら処理を実行するので)考え方は同じですね。

 

このようにunless文はif文とは逆で、条件式が偽の場合にだけ処理を実行すると覚えておきましょう。

ご参考になれば幸いです。

 

筆者プロフィール

町田 耕

学生時代は会計学専攻。塾講師勤務を経て、企業のCFOとして会社経営に携わる。

会社経営から一線を退いた後、インフラエンジニアの妻の勧めでプログラミングを

独学で始め、プログラミングセミナーなど転々としながら、開発案件に携わるようになる。

現在、フリーランスとして活動しながらテックアカデミーのメンターも勤めている。

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。