ブックマーク / qiita.com/lnznt (2)

  • Ruby: Hash.new とデフォルト値 - Qiita

    Hash.new を呼ぶ時に、キーが存在しない場合の値(デフォルト値)を設定できます。 稿はそのメモです。 class Hash (Rubyリファレンスマニュアル2.1.0) Hash.new については上のリファレンスマニュアルを参照してください。 デフォルト値の設定について要約すると、以下のようになります。 引数で与えると、そのオブジェクトをデフォルト値として返す ブロックを与えると、それを評価した値をデフォルト値として返す ブロックの引数には、ハッシュ自身とキーが渡される また、デフォルト値がハッシュにセットされるかどうかについては、以下のようになります。 デフォルト値が自動的にハッシュにセットされることはない ブロックで与えた場合は、ブロック内でセットすることが可能 (以降、デフォルト値として配列(Arrayオブジェクト)を返す場合を例にします) Hash.new [] # (1

    Ruby: Hash.new とデフォルト値 - Qiita
    shiradofu
    shiradofu 2019/01/21
    default_value「デフォルト値をハッシュにセットする」というのはその値を参照したタイミングでハッシュにデフォルト値がセットされる、という意味
  • Ruby で文字列のキャメルケース変換 - Qiita

    Ruby での文字列のキャメルケース変換についてのメモです。 ActiveSupport の camelize 最近(?)では、Rails の ActiveSupport の String#camelize でそれができるようです。 require 'active_support/core_ext/string/inflections' p "foo/bar_baz".camelize #=> "Foo::BarBaz" Rails ではきっと便利なんだと思うのですが、残念ながら仕様が私の都合にはあいませんでした。 モジュール Camelizable そこで、古いソースをもとに小さなモジュールを自作しました。 インスタンスメソッドは以下の2つです。 Camelizable#ucc Camelizable#lcc いずれも、区切り文字列は引数で指定できます。正規表現か文字列で指定します。 区

    Ruby で文字列のキャメルケース変換 - Qiita
    shiradofu
    shiradofu 2019/01/20
    camelize upper lower camel_case
  • 1