【本日の学習内容:puts, 変数, if, 繰り返し処理】
progateなどで何度も学んだRubyの基礎知識について、再度学習しました。
【puts】
ターミナルに値(文字や数字)を出力するメソッド。
データを出力する際に、祭儀に改行が入る。
文字列を表示する時には""で囲む。
数字を表示する時には""で囲まない。
puts 3
計算式を書くと自動で値を計算し、その結果を出力してくれる。
puts 3+1
puts 3-2
puts 7*2
puts 6/2
ヒアドキュメントを使うと簡単に複数行の文字を出力できる。
puts <<~TEXT
こんにちは!ケンチキです。
Rubyを勉強しています。
学習したことをブログで発信しています。
TEXT
ヒアドキュメントを使わなかった場合
puts ""
puts ""
puts "学習したことをブログで発信しています。"
puts ""
【変数】
値を入れておく箱のようなもの。
値を使いまわせる。
値を覚える必要がなくなる。
後々の変更に強いプログラムを組める。
#numの中に11を格納する
num = 11
numの値を出力
puts num
# 円の面積
変数の値を文字列の中で表示したい場合は、式展開をする
puts "こんにちは!#{name}です。"
【if】
条件によって行う処理を変えるために使用する。
hp = 10
if hp >= 10
puts "勇者のHPは10以上だ"
end
ifの右側に書かれているhp >= 10が条件式。この条件式が成り立つ場合に、ifとendで囲まれた部分の処理が実行される。
比較演算子は実行されるとtrueかfalseが結果として返ってくる。
✅else
ifの部分に書いた条件式の評価結果がfalseのときに行いたい処理がある場合に使う。
hp = 5
if hp >= 10
puts "勇者のHPは10以上だ"
else
# ifの条件が成り立たない場合の処理
puts "勇者のHPは10より下だ"
end
✅elsif
ifの部分に加えて、さらに条件を追加したいときに使用する。
hp = 3
if hp > 10
puts "勇者は元気だ"
# 複数の条件を指定するときに使う
elsif hp > 5
puts "勇者は弱っている"
elsif hp > 3
puts "勇者はかなり弱っている"
elsif hp > 0
puts "勇者は瀕死だ"
else
puts "勇者はしんだ"
end
【繰り返し処理】
繰り返し処理は、何度も同じ処理を繰り返したい時に使用するもの。
✅each
eachは配列や範囲オブジェクトに対して使用することができる繰り返し処理。
ちなみに、配列とは何個も要素を格納することができるもので、範囲オブジェクトとは0~100のように、数値的な範囲を表すデータのこと。
# 配列 複数のデータを格納できる
users = ["satou", "tanaka", "yamada", "shimizu"]
# 配列に対してeach文で中身を表示
# usersの要素1つ1つをnameに代入してブロック内の処理を実行
users.each do |user|
puts "Hello!! #{user}."
end
実行結果
Hello!! satou
Hello!! tanaka
Hello!! yamada
Hello!! shimizu
✅each/with_index
eachをindex番号付きで実行する。
users = ["satou", "tanaka", "yamada", "shimizu"]
# インデックス番号と配列の要素を同時に出力
users.each.with_index do |name, i|
puts "No.#{i} #{name}"
end
実行結果
No.0 satou
No.1 tanaka
No.2 yamada
No.3 shimizu
No.1からカウントを開始したい場合は、インデックスの開始番号を指定する。
users = ["satou", "tanaka", "yamada", "shimizu"]
# インデックスの開始番号を指定
users.each.with_index(1) do |name, i|
puts "No.#{i} #{name}"
end
実行結果
No.1 satou
No.2 tanaka
No.3 yamada
No.4 shimizu