Ruby 標準機能・ライブラリ確認シリーズ。
今回は、Comparable
Struct
。
参考
試す
Comparable
比較機能を提供してくれるモジュール Comparable
。
Observable
など他のモジュールと違って公式リファレンスにも、サンプルがない。<=>
メソッドを用意することで比較機能を提供してくれる。
1 | class A |
特定のクラスオブジェクト同士の特定のパラメータで比較をするなら使ってみるのは検討対象になるのも良さそうです。
.clamp
メソッドも提供してくれる。
1 | class A |
.clamp
をオブジェクトで使うためにComparable
を使うより、
比較機能のためにComparable
を使い、.clamp
は一定範囲内に入力を収める為に数字や文字に使いそうです。
Struct
メソッドの実行結果を階層が連なったハッシュで返すことが多々あったが、Struct で返すのも 1 つの手段になりそう。
業界的なデファクトスタンダードはどちらだろうか?
1 | # 第一引数を文字列で渡す |
Struct は、提供するメソッド多数のため一部分だけ。
ハッシュ or Struct
or OpenStruct
どれがいいのか問題は残ります。
本当にデファクトスタンダードは何なんだ。
もうしばらく、標準機能とモジュールの海を潜っていたいところです。
ではでは。