議事録(87) - hamamatsu-rb/hamamatsu-rb.github.com GitHub Wiki
Hamamatsu.rb 87
- 11人参加
- 19:00時点の集まりが悪い・・・皆GW明けで忙しいか??
自己紹介
LT、告知
読書会
2.7 fizz_buzz
- 0が渡されてきたらどうすればいい?
- ⇛今回は3,5,15で割り切れなければ全部文字列にして返す。つまり"0"を返す
- 例外は考えない
- 写経でもOK
- ディレクトリlibを掘っている・・・みんな結構やっているので一般的っぽい
- 特別本書内で明示はしていない
- 最終的にいろんなFizzBuzzが集まりました。1行だったりcase使ったり
2.11
- 2.11.1 ... デフォルト引数内の変数は、メソッドを呼び出した際に評価される。
- 破壊的メソッド ... たまにつくる。!マークしかないメソッドは作らない?という主張もある
- upcase!はすでに全部大文字だった場合はnilが返ってくる。upcaseの返り値は普通。
- ?とかはruby独自のもの。他の言語はisだったりhasだったりするから難しい
- 変数名に!?はつけれないので注意
2.12
- 擬似変数と定数は別物として扱われている。定数は大文字で始まる。
- 定数はどのコンテキストでも同じ値
- object_idは逆引きできる?...ObjectSpace._id2ref(id)を使うと取れるらしい。スコープ関係なしで。
- ObjectSpaceはRubyの標準クラス
- 頭にアンダースコアついているメソッドってなんだろう・・・非推奨?
- 昔はrequireに'./'は不要だった。セキュリティ改善の一環で必要になった
- if true ... trueは真の擬似変数なので絶対真になる。ここではifが式になっていることを伝えたい
3.2
- assert_equalの引数順番が逆でもテスト通るのが気になる
- Minitestのデフォルトファイル名が気になる
3.3
- test用のメソッドはtestで始めることが必須
- diff結果のexpectedが期待した出力結果、actualが実際の出力結果
- 今回のFizzBuzzのように、無限に結果がある関数のテストは迷う
- どのテストライブラリが推奨?⇛一時期はRSpec一択だったが変わってきた
- RSpecで先にテストを書いて、実装を書いていくと楽しい
- 最初に書こうとした時に考えることが多い・・・
- 最終的にはどのフレームワークでもOK
- Rubyテスティングフレームワークの歴史 http://www.clear-code.com/blog/2014/11/6.html
KPT
次回