作者dryman (dryman)
看板Programming
标题Re: [闲聊] 不使用if的写法
时间Fri Jan 11 14:45:12 2013
应该是最短的写法in perl:
$i = 1;
$j = 2;
print+(No,Yes)[$i==1],$/; # ==> Yes
print+(No,Yes)[$j==1],$/; # ==> No
用到了bare words, 只当作间格用的+, ()是array literal, []是array operator
$/是STDIO input separator, 预设绑定"\n"
可以用它把,"\n"换成,$/省下两个字元
可以在终端机试试:
perl -e 'print+(No,Yes)[1],$/'
在Perl monks上面看写FizzBuzz题目偷学的
http://www.perlmonks.org/?node_id=602901
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.36.70.123
1F:推 xatier:用 bare words 高招! 140.113.230.56 01/11 21:37