Perlの話だけれど、「あるオブジェクトをそのメソッドを呼び出した結果の値で上書きする」という代入演算子が欲しい。
$hoge = $hoge->foo_method #call method, and assign returned value to variable $hoge =-> foo_method # equivalent
一見使い道がないようだけれど、複雑な構造体を扱うようなときに使えそう。
%hoge = {name => 'hoge', books => bless ([...], 'Book::Shelf') $hoge->{books} =-> to_hash; #Book::Shelf class has to_hash method %hoge == {name => 'hoge', books => [{ title => 'book1', price => 1000, }, { title => 'book2', price => 2000, }, { title => 'book3', price => 3000, },]}
このような感じで。でも自分の実装が悪いだけで、そもそもスマートに書けていればこのような問題は発生しないのだと思う。