1
0

More than 3 years have passed since last update.

Ruby復習①

Last updated at Posted at 2021-01-28

ポートフォリオ作成に向けて、1月中に基礎学習を終わらせます。
HTML/CSS、JavaScriptの復習を終わらせたので、
次にRubyの復習をProgate、ドットインストールを用いて行っていきます。
なお、記述する内容は自分が忘れがちな所、苦手な所です。
HTML/CSS編、JavaScript編同様、自分用の備忘録的に投稿していくので(箇条書きで)、
読みづらいor間違えていることを書いている可能性もあるので、悪しからず。
(できるだけ他の方が見てもためになれば良いなとは思って投稿しますが・・・)
箇条書きで書いたことに関して、新たな発見、学び、気づき等あれば、
それぞれ個々に詳細を記述していこうと思います。

文字列

Rubyファイル
puts 'Hello World'
# シングルクォーテーションorダブルクォーテーションで囲む

変数

変数の定義

Rubyファイル
name = "Taro"
# 変数 = 代入する値の形で変数を定義できる

変数名のルール

○良い例・・・ 英単語を用いる、2語以上の場合はアンダーバーで区切る
× 悪い例・・・ 数字から始まる、ローマ字、日本語

変数展開

Rubyファイル
name = "鈴木"
puts "こんにちは#{name}さん"
#変数展開を用いたい場合はシングルクォーテーションではなく、ダブルクォーテーションを使うことに注意
コンソール
こんにちは鈴木さん

if文

Rubyファイル
if 条件式
  処理
end
Rubyファイル
score = 90
if score > 80
  puts "よくできました"
end
コンソール
よくできました

条件式の出力

Rubyファイル
score = 90
puts score > 80
コンソール
true

比較演算子

Rubyファイル
a == b #aとbが等しいとき、true
a != b #aとbが異なるとき、 true

else

Rubyファイル
if 条件式
  処理
else
  処理
end
Rubyファイル
score = 100
if score == 100
  puts "満点です"
else
  puts "満点ではありません"
end

elsif

Rubyファイル
if 条件式1
  処理
elsif 条件式2
  処理
else
  処理
end
Rubyファイル
score = 75
if score > 80
  puts "よくできました"
elsif score > 60
  puts "まずまずです"
else 
  puts "がんばりましょう"
end
コンソール
まずまずです

条件の組み合わせ

Rubyファイル
score = 68
if score <= 80 && score > 60
  puts "まずまずです"
end
コンソール
まずまずです

配列を変数に代入する

Rubyファイル
names = ["Yamada", "Sato", "Tanaka"]
puts names
puts names[1]
コンソール
Yamada
Sato
Tanaka
Sato

配列の要素と変数展開

Rubyファイル
names = ["Yamada", "Sato", "Tanaka"]
puts "私の名前は#{names[1]}です"
コンソール
私の名前はSatoです

each文

Rubyファイル
配列.each do |変数名|
  #実行したい処理
end
Rubyファイル
names = ["Yamada", "Sato", "Tanaka"]
names.each do |name|
  puts name
end
コンソール
Yamada
Sato
Tanaka

ハッシュ

Rubyファイル
{キー1 => 1, キー2 => 2}

#例
{"name" => "Yamada", "age" => 20}
#"name","age"がキー、"Yamada",20が値

ハッシュを変数に代入する

Rubyファイル
user = {"name" => "Yamada", "age" => 20}
puts user
コンソール
{"name" => "Yamada", "age" => 20}

ハッシュの要素を用いる

Rubyファイル
user = {"name" => "Yamada", "age" => 20}
puts user{"name"}
コンソール
Yamada

ハッシュの要素の更新

Rubyファイル
user = {"name" => "Yamada", "age" => 20}
puts user
user["age"] = 30
puts user
コンソール
{"name" => "Yamada", "age" => 20}
{"name" => "Yamada", "age" => 30}

ハッシュに要素を追加する

Rubyファイル
user = {"name" => "Yamada", "age" => 20}
puts user
user["gender"] = "male"
puts user
コンソール
{"name" => "Yamada", "age" => 20}
{"name" => "Yamada", "age" => 20, "gender" => "male"}

ハッシュのキーにシンボルを用いる

Rubyファイル
user = {"name" => "Yamada", "age" => 20}
# 以下のように書き換えられる
user = {:name => "Yamada", :age => 20}
puts user[:name]
コンソール
Yamada

キーがシンボルのハッシュの省略

Rubyファイル
user = {:name => "Yamada", :age => 20}
# 以下のように書き換えられる
user = {name: "Yamada", age: 20}
puts user[:name]
コンソール
Yamada

ハッシュの書き方まとめ

Rubyファイル
#キーが文字列の書き方
{"name" => "Yamada", "age" => 20}
#キーがシンボルの書き方
{:name => "Yamada", :age => 20}
#キーがシンボルの書き方(省略形)
{name: "Yamada", age: 20}

ifとnil

if文の条件

true・・・ falseとnil以外
false・・・ false,nil

配列の要素にハッシュを入れる

Rubyファイル
users = [
  {name: "Yamada", age: 20},
  {name: "Sato", age: 25}
]
user = users[1]
puts users[1]
puts user[:name]
puts users[1][:name]
コンソール
{name: "Sato", age: 25}
Sato
Sato

each

Rubyファイル
users = [
  {name: "Yamada", age: 20},
  {name: "Sato", age: 30}
]
users.each do |user|
  puts user
end

users.each do |user|
  puts user[:name]
end
コンソール
{name: "Yamada", age: 20}
{name: "Sato", age: 30}

Yamada
Sato

メソッド

メソッドの定義

Rubyファイル
def メソッド名
  処理
end
Rubyファイル
def introduce
  puts "こんにちは"
  puts "私はたろうです
end

メソッドの呼び出し

Rubyファイル
def introduce
  puts "こんにちは"
  puts "私はたろうです
end
introduce  #introduceメソッドを呼び出している
コンソール
こんにちは
私はたろうです

引数を受け取るメソッドの定義

Rubyファイル
def メソッド名(引数名)
  処理
end
Rubyファイル
def introduce(name)
  puts "こんにちは"
  puts "私は#{name}です"
end

introduce("たろう")
introduce("はなこ")
コンソール
こんにちは
私はたろうです
こんにちは
私ははなこです

複数の引数を受け取る

Rubyファイル
def introduce(name, age)
  puts "私は#{name}です"
  puts "#{age}歳です"
end

introduce("たろう",20)
コンソール
私はたろうです
20歳です

戻り値

Rubyファイル
def add(a,b)
  return a + b
end
sum = add(1,3)
puts sum
コンソール
4

様々な戻り値

Rubyファイル

def negative?(number)
  return number < 0
end
puts negative?(5)
コンソール
false

複数のreturn

Rubyファイル
def judge(score)
  if score > 80
    return "よくできました"
  end
  return "がんばりましょう"
end
puts judge(70)
コンソール
がんばりましょう

キーワード引数

Rubyファイル
def introduce(name:, age:, food:)
  puts "私は#{name}です"
  puts "年齢は#{age}歳です"
  puts "好きな食べ物は#{food}です"
end

introduce(name: "たろう", age: 20, food: "すし")
コンソール
私はたろうです
年齢は20歳です
好きな食べ物はすしです
続きはRuby復習②
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0