記憶の外付けHDD

切実に頭にUSBのコネクターがほしいです。なるべくtype-cでお願いしたいです。(忘れないように、プログラミング学習で学んだことを投稿してます)

2019/10/13、14_チェリー本(6、7日目)

はじめに

昨日、更新しそこねたので、本日は、2日分書きます…

読んだ本

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus | 伊藤 淳一 | コンピュータ・IT | Kindleストア | Amazon

本編

読んだページ数

  • 第4章(P95〜P97)

新しく知ったこと

ブロックの囲み方

  • do〜end{ }もOK
囲い方 使い時
do〜end ブロック処理が長い&改行
{ } ブロック処理が短い&一行で書く
  • 以下の2つの結果は同じく月曜日 火曜日 水曜日 木曜日 金曜日を出力する
# do~endパターン
weekday = ["","","","",""]
weekday.each do |day|
  puts "#{day}曜日"
end
# { }パターン
weekday = ["","","","",""]
weekday.each { |day|  puts "#{day}曜日"}

配列を使うメソッド

mapメソッドとcollectメソッド

  • mapcollectエイリアスメソッド1
    ※ mapメソッドは知っているので割愛

selectメソッドとfind_allメソッド

  • selectfind_allエイリアスメソッド
  • ブロック要素の戻り値がになった要素だけで、新たな配列を生成する
element = ["","","","",""]
element.select { |ele| ele.empty? }

#=>["", ""]

empty?は空配列だったらtrueを返すメソッド

rejectメソッド

  • ブロック要素の戻り値がになった要素だけで、新たな配列を生成する
    select(find_all)メソッドと逆)
element = ["","","","",""]
element.select { |ele| ele.empty? }

#=>["月", "火", "水"]

findメソッドとdetectメソッド

  • select(find_all)メソッドと同じ処理で、最初の要素だけ返す
  • detectは「検出する」の意
prime_number = [2, 3, 5,]
prime_number.detect { |num| num.odd? }

#=> 3

あとがき

知らなかったメソッドが多かったので、あんまり進みませんでした…

以上


  1. エイリアスメソッドは、同じ挙動がするのに名前だけ違うメソッド