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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

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

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

 

田島悠介

今回は、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オンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。