記憶の外付けHDD

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

2019/10/20_チェリー本(13日目)

はじめに

昨日もチェリー本をちょっとだけ読みました。

読んだ本

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

本編

読んだページ数

  • 第4章(P117〜P118)

新しく知ったこと

配列の和集合

  • 2つの配列から、要素を重複しないように返す
  • |を使う
carry = ["人参", "じゃがいも", "玉ねぎ", "", "カレーのルー"]
stew = ["人参", "じゃがいも", "玉ねぎ", "", "シチューのルー"]


carry | stew

# => ["人参", "じゃがいも", "玉ねぎ", "肉", "カレーのルー", "シチューのルー"]
# 解説:`配列A | 配列B`と書く

急にカレーとシチューを同時に作りたくなっても、これで買いに行く材料の一覧が簡単に作成できます。

配列の差集合

  • 一方の配列から、もう一方の配列に含まれる要素を除外して返す
  • -を使う
carry = ["人参", "じゃがいも", "玉ねぎ", "", "カレーのルー"]
stew = ["人参", "じゃがいも", "玉ねぎ", "", "シチューのルー"]

carry - stew

# => ["カレーのルー"]
# 解説:`配列A - 配列B`と書く

カレーの材料からシチューの材料と重複している部分を除きました。
(結果、「カレーのルー」が残りました)

配列の積集合

  • 2つの配列に共通している要素を返す
  • &を使う
carry = ["人参", "じゃがいも", "玉ねぎ", "", "カレーのルー"]
stew = ["人参", "じゃがいも", "玉ねぎ", "", "シチューのルー"]

carry & stew

# =>["人参", "じゃがいも", "玉ねぎ", "肉"]
# 解説:`配列A & 配列B`と書く

カレーとシチューは、だいたい同じ材料ということがわかりました。(ルーは除く)

あとがき

毎日、例題考えるのに困っているので、これ読んでます。
海辺の週刊大衆 (双葉文庫) | せきしろ |本 | 通販 | Amazon
効果が出るといいんですが、とりあえず、楽しい本です。

以上