Ruby文法メモ

Ruby文法メモ

基礎文法ですが、自分用メモとして残しておきます。

users = [
  { name: '太郎', age: 27 },
  { name: '次郎', age: 25 }
]

users.each do |user|
  puts user
end
# {:name=>"太郎", :age=>27}
# {:name=>"次郎", :age=>25}

users.each do |user|
  puts user[:name]
end
# 太郎
# 次郎

users.each do |user|
  puts "私の名前は#{user[:name]}です。#{user[:age]}です。"
end
# 私の名前は太郎です。27です。
# 私の名前は次郎です。25です。
characters = [
  { name: '太郎', age: 27 },
  { name: '次郎', age: 25 },
  { name: 'xxx' }
]

characters.each do |character|
  puts '--------------------'
  puts character
  puts "名前は#{character[:name]}です"

  if character[:age]
    puts "年齢は#{character[:age]}歳です"
  else
    puts '年齢は秘密です'
  end
end

# --------------------
# {:name=>"太郎", :age=>27}
# 名前は太郎です
# 年齢は27歳です
# --------------------
# {:name=>"次郎", :age=>25}
# 名前は次郎です
# 年齢は25歳です
# --------------------
# {:name=>"xxx"}
# 名前はxxxです
# 年齢は秘密です
# もし条件式がtrueなら処理Aを行う、そうでなければ処理Bを行う
if 条件式
  処理A # true
else
  処理B # false
  end

# もし条件式1がtrueなら処理Aを行う、
# そうでなくもし条件式2がtrueであれば処理Bを行う、いずれでもなければ処理Cを行う
if 条件式1
  処理A # 条件式1:true
elsif 条件式2
  処理B # 条件式1:false
     # 条件式2:true
else
  処理C # false
end

if characters[0][:name] == '太郎'
  puts '名前は太郎です'
elsif characters[0][:name] == '次郎'
  puts '名前は次郎です'
else
  '不明'
end

# 名前は太郎です
# メソッド:複数の処理を1つにまとめたもの

def メソッド名
  処理
end

def info
  puts '太郎です'
end
info

def メソッド名(引数名)
  処理
end

def info(name)
  puts "#{name}です"
end
info('太郎')

# 太郎です

def info(name, age)
  puts "私の名前は#{name}で、年齢は#{age}です"
    end
info('太郎', 27)

# 私の名前は太郎で、年齢は27です
# 戻り値:呼び出し元に値を返す。
def メソッド名
  returnend

変数名 = メソッド名
puts 変数名

def name
  returnend


# 戻り値:呼び出し元に値を返す。
def メソッド名?(_引数名)
  returnend

puts メソッド名?(_引数名)


def メソッド(キーワード引数1:, キーワード引数2:)
  処理
end

メソッド(キーワード引数1: xxxx, キーワード引数2: yyyy)