読者です 読者をやめる 読者になる 読者になる

Lambdaカクテル

DESCRIBING: Scala, Akka, P2P, Scheme, Political sth., etc.

Perl:メソッドを呼んでその返り値で代入する代入演算子が欲しい

perl

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,
    },]}

このような感じで。でも自分の実装が悪いだけで、そもそもスマートに書けていればこのような問題は発生しないのだと思う。