1/14 学習記録 Ruby入門 2日目

<目標>

  • RUBY入門10章まで
  • タイムキープをすること
  • 日常作業も並行してこなすこと
  • *16ポモドーロ

<ギモン>

hash={}
hash.default=0
array="caffelatte".chars
array.each do |x|
    hash[x] += 1
end 
p hash

<メモ>

第6章 ハッシュと組(22P)

  • ハッシュはブロックの形をとりキーと値のセットを複数取れる 値は文字列、整数なんでも取れる
  • クラスはHASH,(配列はARRAY)

シンボルというオブジェクト

:を頭につける、アルファベットを使う、クラスはSymbol

ハッシュのキーにシンボルをつける場合末尾に:をつけることもできる

シンボルでない場合は(例えば文字列"") =>を使用する

存在しないキーを指定した場合の表示

  • defaultは"nil"
  • "ハッシュ名".default=0 で表示が"0"になる
  • ハッシュ繰り返し .each do |key,value| end
  • キーのみ繰り返し .each_key do |key| end

puts "紅茶はありませんか" unless menu[:tea]

  • この場合の menu[:tea]ってfalseの値なの?
  • menu[:tea] teaがない場合nilを返すので unlessで処理が続く

"ハッシュ".has_key?(キー)

  • menu.has_key?(:tea) キーがあるか調べる

第7章 ちいさく分割する

メソッドの定義def

def area
   puts 2 * 2
   end

# `area`を実行すると数値が表示される
def area
   2 * 2
   end

#areaは戻り値
`puts area`を実行すると数値が表示される

メソッドを途中で終わらせるときはreturn

def greeting
puts "ありがとうございました"
return
puts "またお越しください"
end

リターンはメソッドの範囲内で有効

area(2)はarea 2ともかける puts 1 はputs(1)ともかける メソッド定義のarea(x)もarea xとかける

デフォルト値とキーワード引数

def order(item = "コーヒー") puts item end

puts orderを実行すると引数なしで"コーヒー"が出力される

キーワード引数

def order(name:,size:)
    "#{name}の#{size}ください"
end

puts order(name:"コーヒー",size:"Lサイズ")
puts order(size:"小さいの",name:"おしるこ")

キーワード検索のデフォルト値

def order(name:,size:”Sサイズ")

メソッドの内外では変数(ローカル変数)の融通はできない メソッドの外から変数を渡す場合は引数を使う