【Ruby入門】if文の使い方まとめ【else elsif unless or nil not】

image (40)
長瀬来
書いた人 長瀬来

こんにちは! フリーエンジニアの長瀬です。

Rubyのif文って書き方がとても自由だと感じませんか?
そのため色々な書き方があって混乱してしまうことがあります。

なので、この機会にしっかりと整理しておきましょう。

また、if文はどのプログラミング言語でも基本中の基本ですので、しっかりとマスターしておきましょう。

この記事では、if文の使い方について

・通常のif文
・thenを省略
・後置if 一行にまとめる
・if else 以外は
・if elsif 条件の次の条件
・unless 条件の否定
・if not 条件の否定

という基本的な内容から、

・変数に代入
・if or 論理演算子で複数条件を設定
・if and 論理演算子で複数条件を設定
・if nil 条件がnilかどうか確かめる
・三項演算子

といった応用的な内容についても解説していきます。

if文の書き方

通常のif文

条件式がtrueの場合だけ処理を実行します。
ごくごく普通のif文です。

thenを省略

次にthenを省略した方法です。
この形式のif文を一番みますね。
基本的にはこの書き方を覚えれば大丈夫です。

後置if 一行にまとめる

次に後置ifです。
条件式がtrueの時に、ifの前に書かれたコードを実行することができます!
すっきり書けるので、とてもオススメです!

if else 以外は

条件式がfalseの場合に処理を実行する

if elsif 条件の次の条件

複数の条件で分岐する 条件は上から順番にマッチするかどうかチェックされ、trueのものだけ実行される

unless 条件の否定

条件式がfalseならtrueになる
falseになることの方が多い、またはfalseになることの方が自然となる場合に使うことでコードが読みやすくなる

このようにunless文にelsifを無理やり使おうとするとSyntaxErrorが発生します。

if not 条件の否定

unlessと同様に条件の否定にはif notまたはif !(条件)を使用できます。
unlessとの違いはelsifが使用可能な点です。
SyntaxErrorが発生することはありません。

if文の応用

変数に代入

次に変数にそのまま代入するやり方です。
条件がtrueの時にそのまま代入を行うことができます!

if or 論理演算子で複数条件を設定

or か ||の論理演算子を使うと、いずれかの条件を満たした場合に条件がtrueになります。
この場合は、Samuraiは一致していますが、string2は一致していません。

if and 論理演算子で複数条件を設定

andか&&の論理演算子を使うと、すべての条件を満たした場合にtrueになります。

if nil 条件がnilかどうか確かめる

条件がnilかどうか確かめるにはnil?を使います。

三項演算子

最後は三項演算子です!
例えばif文で

という条件分岐を書きたかったとします。
それを三項演算子で書くと以下のようになります。

このようにとてもすっきりかけていることがわかります。

まとめ

いかがでしたでしょうか?

この記事では、if文の使い方を解説しました。

この記事で学んだ、ifelsifelseunlessnot(!)||(or)&&(and)が理解できていれば基本的なif文は問題なく書けます。

また、後置if/unless三項演算子を使うことで、よりスマートにコードが書けるようになるのでぜひこの機会にマスターしておいてください。

もしif文の使い方について忘れてしまったらこの記事を確認してくださいね!

関連記事




Rubyカリキュラム無料公開中!
この記事はRuby入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Ruby学習に必要な情報を一つにまとめていますので効率よくRubyを学ぶことが出来ます。この機会に是非活用していただければと思います。


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


Rubyを最短で習得したい方へ
近年では様々なWEBサービスが流通するようになりました。

WEBサービスの普及が進むにつれて、それらを素早く開発するのに長けたRubyの人気は今後さらに増し、Rubyエンジニアの需要も自ずと増えることは間違いなしでしょう。

元々ITリテラシーの高い方や他言語を習得している方であれば、独学でRubyを習得することが可能です。

ただし、プログラミング学習をしている方の多くは

「自分に合った教材が見つけられずに挫折してしまった」
「勉強のための勉強になってしまい、ゴールが見えない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決するのに何日もかかってしまう」
このような悩みを抱えたまま挫折してしまうのが現実となっています。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
  • WEBアプリケーション開発までしっかりサポートして欲しい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、初心者の方がつまづきがちな、「CookPad」、「Wantedly」、「食べログ」のようなWEBアプリケーション開発方法もスムーズに学習することできます。

実際にオリジナルWEBアプリを開発し、成果物として認められて仕事獲得に成功した塾生は数多くいます。

このように、オリジナルアプリ開発から仕事獲得まで徹底的にサポートすることでプログラミング初心者の方でも安心して基礎学習に取り組むことができます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

Rubyならではの学習方法や、現役フリーランスRubyエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像から弊社サービス内容をご確認ください。

ruby_a1

学習者インタビュー

人気記事セレクション

エンジニア転職希望者必見

プログラミング学習者必見

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

長瀬来

長瀬来

Unityを使ったiOSアプリのリリース、フリマサイト運営の経験があります。

経験した言語はC、C#、Javascript、R、Python、Ruby、PHPなど

言語が好きで、英語や中国、ドイツ語を勉強しました。
将来的には海外で生活したいです。

現在はRuby on Rails5やCocos2dxの勉強を主にしています。
人工知能のアルゴリズムにも興味があります。

ライターとしては
できるだけ初心者にわかりやすい文章になるように心がけています。

趣味は語学、読書、ピアノ、ジャグリング、フルートなどです。

連絡先はこちらです。
Liparas1729@gmail.com