單行小程式
维基百科,自由的百科全书
單行小程式是用不多於一行寫成的電腦程序或表達式。它常用作顯示程式語言在不同範疇的表達能力。實際上,單行小程式將被輸入和將被執行直接地從命令線。Perl是一種優秀語言使用來創造單行小程式。許多單行小程式是實用的,例如,以下perl單行小程式將扭轉所有位元組在文件:
perl -0777e 'print scalar reverse <>' filename
單行小程式也用作顯示其他電腦程式的表達。單行小程式使用頻繁來展示編程的能力。比賽經常舉行看誰可能創造最好的單行小程式。
99個瓶啤酒電腦程式單行小程式的例子:
perl -e '$b="of beer";$w="on the wall";print "$_ ",b($_)," $b $w\n$_ ",b($_)," $b\ntake one down, pass it around, ",$_-1," ",b($_-1)," $b $w\n\n" foreach (reverse 1..99);sub b{$x="bottle";$_[0]==1?$x:$x."s";}'
一個剪刀石頭布遊戲單行小程式:
perl -e '$c=(($r,$s,$p)=qw|rock scissors paper|)[(int rand 3)];$|=0;until($y=~/^($r|$s|$p)$/){print "$r, $s or $p? ";$y=<>;chop $y};%r=($s,{$p,1,$r,0},$p,{$r,1,$s,0},$r,{$s,1,$p,0});print "You: $y\nCom: $c\nYou ".((exists $r{$y}{$c}?($r{$y}{$c}?"Win":"Lose"):"Draw")."\n")'
Perl不是唯一一個能運行單行小程式的電腦程式。以下是C程式去顯示ASCII代碼的鑰匙輸入:
void main(void) {int c; while(c = getchar()) printf("%d %02X\n", c, c);}