Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

配列から一定ルールを持った文字列を作りたい場合一寸便利な事

ゴチャゴチャ入り組んだ文字列の生成って面倒ですよね。
ここでRubyは既存クラスに対して楽にメソッドを定義できるという特性を利用すると
スマートに書く事ができます*1

class String
  def to_param
    self.upcase
  end  
end

##...以下、使いそうなクラスについて個別ルールを記述...

class Array
  def to_param
    collect {|e| e.to_param }.join('/')
  end  
end

と、前準備に時間は掛かりますが...
実行するとこの通り。

%w( a b c ).to_param
#=> "A/B/C"

やったぜ!
まぁ、あまり使いすぎると自分でも理解できなくなるので注意は必要です。

*1:書いてて気付きましたが...文字列生成対して異様な執着心を持ってますね私...