【ruby】『ruby入門(メモ3)』恐竜判定(if ... elseとcase when)
0.はじめに
今回は判定文(if,when)を勉強する。
参考urlの内容を少しだけアレンジ。
この子からパワーを貰って、勉強を進めている。
1.判定文(if else)
2つの条件について判定して、何かをさせたいとき下記のように記述できる
if 条件1
条件1の時実行する処理
else
条件1以外の処理
end
2.判定文(3つ以上の条件について判定したいとき if elsif else)
3つ以上の条件について判定して、何かをさせたいとき下記のように記述できる
if 条件1
条件1で実行したい処理
elsif 条件2
条件2で実行したい処理
else
条件1、2以外の時実行したい処理
end
複数条件判定(if elsif else)のサンプル
入力した数字で、ヴェロキラプトルかティラノサウルスかotherかを表示するプログラム。
puts '---------which do you choose(104 or 132)----'
# 画面からの入力は、getsで受け取る
speed = gets.to_i
# speedが104のときは
if speed == 104
puts 'Tyrannosaurus'
# speedが132のときは
elsif speed == 132
puts 'Velociraptor'
# speedが132でも104でもないときは
else
puts 'other dinosor'
end
★実行結果
c:\ruby_pg>ruby if_else.rb
---------which do you choose(104 or 132)----
132
Velociraptor
3.判定文3つ以上の条件について判定したいとき(case when else)
3つ以上の状態を持つものについて判定したいとき、
if elsif elseを使うより下記のようにcase whenを使うと効率のいい場合がある。
case 判定対象
when 条件1
条件1でき実行したい処理
when 条件2
条件2で実行したい処理
...
else
いずれの条件にも該当しない時にで実行したい処理
end
★★好きな恐竜を表す番号を入力すると、その恐竜名を表示するサンプルプログラム
#略
puts "\n"
puts '-------what dinosor do you like? --------'
puts 'input 1 if you like Tyrannosaurus --------'
puts 'input 2 if you like Velociraptor --------'
puts 'input 3 if you like Stegosaurus --------'
puts 'input 4 if you like Triceratops --------'
puts 'input 5 if you like Brachiosaurus --------'
# 画面からの入力は、getsで受け取る
dino_no = gets.to_i
#dino_noの場合分け
case dino_no
#1の場合
when 1
puts 'you like Tyrannosaurus'
#2の場合
when 2
puts 'you like Velociraptor'
#3の場合
when 3
puts 'you like Stegosaurus'
#4の場合
when 4
puts 'you like Triceratops'
#5の場合
when 5
puts 'you like Brachiosaurus'
#他の場合
else
puts 'you like ???'
end
実行結果
c:\ruby_pg>ruby if_else.rb
-------what dinosor do you like? --------
input 1 if you like Tyrannosaurus --------
input 2 if you like Velociraptor --------
input 3 if you like Stegosaurus --------
input 4 if you like Triceratops --------
input 5 if you like Brachiosaurus --------
3
you like Stegosaurus
参考url
Author And Source
この問題について(【ruby】『ruby入門(メモ3)』恐竜判定(if ... elseとcase when)), 我々は、より多くの情報をここで見つけました https://qiita.com/knowledge87sun/items/27a31eb76a8e21544aab著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .