作者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