デイトラDay26 学習記録                     「Rubyの条件分岐と繰り返し」

1,IF文とCASE文

・IF文

if文は条件式が満たされるときだけ処理を実行することができます。

number = rand(1..100)

puts number

if number % 3 == 0 && number % 5 == 0
    puts "FizzBuzz"
  elsif number % 3 == 0
    puts "Fizz"
  elsif number % 5 == 0
    puts "Buzz"
  else
    puts number
end


・CASE文

if-elsif文で、条件式の変数が全て同じでかつ、等式が使われている場合、
case文を使えます。

以下のコードは、case文でおみくじを作ったものです。

fortune = rand(5)

case fortune
  when 0 then
    puts "大吉だお"
  when 1 then
    puts "吉だヒッ!"
  when 2 then 
    puts "小吉どぅふッ"
  when 3 then
    puts "末吉だっぴ☆"
  else
    puts "凶よ♡"
end

2,配列、ハッシュ

複数のデータを管理するために、配列ハッシュを使います。

・配列

配列は、index(添字)でデータを管理します

nums = [1, 2, 10, "tarou", true]

C言語と違って、同じ配列内に異なるデータ型の要素を指定することができます。

・ハッシュ

ハッシュは、キーでデータを管理します。
添字で管理する配列よりも、より何のデータか分かりやすく管理できます。

youkai = {
  Orochi: "S",
  Kyubi: "S",
  Shishikoma: "A",
  Babaan: "B",
  Zibanyan: "D",
  Zimy: "E"
}

puts "#{:Orochi}は#{youkai[:Orochi]}ランクです"
# 出力:OrochiはSランクです
youkai[:Bushinyan] = "S"

puts youkai 
#出力:{:Orochi=>"S", :Kyubi=>"S", :Shishikoma=>"A", :Babaan=>"B", :Zibanyan=>"D", :Zimy=>"E", :Bushinyan=>"S"}

3,繰り返し表現

eachメソッド

Rubyにおいてfor文はあまり使われません。
その代わり、配列やハッシュのeachメソッドをよく使います。

以下のコードは、ハッシュにeachメソッドを使ったコードです。

youkai = {
  Orochi: "S",
  Kyubi: "S",
  Shishikoma: "A",
  Babaan: "B",
  Zibanyan: "D",
  Zimy: "E"
}

youkai.each do |key, value|
  puts "#{key}#{value}ランクです"
end

4,スコープ

メソッド内で定義された変数は、メソッド外で使えません

たとえば

def hello 
  name = "コスメティック田中"
  puts "Hello #{name}!"
end

puts name

というコードを実行すると、「nameという変数は定義されていない」というエラーが出ます。

このように、変数が使える範囲をスコープといいます。

この記事が気に入ったらサポートをしてみませんか?