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サイズ")
メソッドの内外では変数(ローカル変数)の融通はできない メソッドの外から変数を渡す場合は引数を使う