首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


單行小程式

维库,知识与思想的自由文库

跳转到: 导航, 搜索

單行小程式是用不多於一行寫成的電腦程序表達式。它常用作顯示程式語言在不同範疇的表達能力。實際上,單行小程式將被輸入和將被執行直接地從命令線。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);}
其它语言
AD Links