抱歉我没有学过Ruby所以不清楚#{}在Ruby中扮演的角色。
但是@{[expr]}这个语法并不是为这个场景特别设计的,这只是一个在字符串中插入代码的trick。
On Wednesday, June 12, 2013 11:07:21 PM UTC+8, 方及道 wrote:
-- On Wednesday, June 12, 2013 11:07:21 PM UTC+8, 方及道 wrote:
我好像在哪里看过这个特性的,所以进来问问。你可以测试下下面代码块:$bool = 0$a=1;$b=2;print <<"_EOC_";a+b = @{ [ $a+$b ] }a+b = @{ if (!$bool) { [ $a + $b ] } }_EOC_你说的不是我要的。 @{[]} 应该是用字符串解析里面的,和ruby 的 #{} 很像。
在 2013年6月12日星期三UTC+8下午11时02分32秒,twcai写道: [ ]是一个数组引用,@{ }是对应的解引用。你往数组里扔表达式的话,perl会把表达式的值存入对应的位置而已。 跟你想要的应该不是同一个东西。
On Wednesday, June 12, 2013 10:56:49 PM UTC+8, 方及道 wrote:在print里用了@{ [ expr ] }, 貌似可以在@{ } 里嵌入任意perl代码,不知道这个特性叫什么?ruby里的#{} 好像方便很多
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 perlchina+unsubscribe@googlegroups.com。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
通过以下网址访问此论坛:http://groups.google.com/group/perlchina?hl=zh-CN。
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
没有评论:
发表评论