例えば今,配列を返す関数があるとする.
sub f { (1, 2, 3); }
f()
の返り値の n 番目の要素を得るには次のようにすればよい.
@a = f(); print $a[$n];
この時,一時変数 @a
を使わないようにするにはどうすればよいだろうか?
以下のようにすればうまくいくが不自然だ.
print [f()]->[$n];
あるいは,
print ${[f()]}[$n];
ともできるが,いずれにせよ不自然.
もっと素直な記法は無いのか?
勘違い (2010/7/2 追記)
上のような変なことをしなくても,
(f())[$n]
でよい.ただし,
print (f())[$n];
は print 関数と括弧の関係上文法エラーになるので,
print ((f())[$n]);
とする必要がある.上の print がうまくいかなかったので勘違いしていた .
0 件のコメント:
コメントを投稿