cloudpack の ヤマグチです。 図らずも5年前の車輪を再発明してしまった前回でした。 ふと思ったのですが、Symbol#[]はどういう実装だったかなと。 class Symbol self.to_s[nth] と同じです。 self.to_s[nth, len] と同じです。 self.to_s[substr] と同じです。 self.to_s[regexp, nth] と同じです。 self.to_s[range] と同じです。 うーむ。Stringと同じなんですね……。暴挙と承知の上でこれをオーバーライドするとしたらこんな感じでしょうか。 class Symbol def [] *args Proc.new {|object| object.send self, *args} end end %w(vanilla caramel matcha).map &:+[" icecre