单行小程序

✍ dations ◷ 2025-05-19 03:56:45 #计算机编程

单行小程序(One-liner program)是不多于一行的电脑程序或表达式。它常被用来展示编程语言在不同范畴的表达能力。实际上,单行小程序常被直接地从命令线输入和运行。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";$_==1?$x:$x."s";}'

一个剪刀石头布游戏单行小程序:

 perl -e '$c=(($r,$s,$p)=qw|rock scissors paper|);$|=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不是唯一一个能写出单行小程序的语言。以下是显示输入的内容的ASCII码的C程序:

相关

  • 反应性关节炎反应性关节炎(英语:reactive arthritis)之前称为莱特氏综合征(英语:Reiter's syndrome),是一种发炎性关节病变,是一种无菌性的关节炎。身体某个部位接触细菌、披衣菌等微生物,产生尿
  • 韦格蒂乌斯普布利乌斯·弗莱维厄斯·维盖提乌斯·雷纳特斯(Publius Flavius Vegetius Renatus),约活动于公元4世纪后半期。著有关于古罗马军事体制论著《论军事》,凡四卷。尽管他非军人而
  • 八二三战史馆八二三战史馆是位于中华民国福建省金门县金湖镇的一所以纪念金门炮战(台湾称八二三炮战)为主题的博物馆。该博物馆于1988年开放。该博物馆于1988年建立。金门县政府建立博物馆
  • 谢尔查克·谢尔(英语:Chuck Share,1927年3月14日-2012年6月7日),生于俄亥俄州亚克朗,美国职业篮球员。他是NBA历史上第一位选秀状元(之前为BAA)。谢尔在1950年被波士顿凯尔特人队在第一轮
  • 1992年冬季奥林匹克运动会第十六届冬季奥林匹克运动会(英语:the XVI Olympic Winter Games,法语:les XVIes Jeux olympiques d'hiver),于1992年2月8日至2月23日在法国的阿尔贝维尔举行,该届也是最后一次跟夏
  • 2012年夏季残疾人奥林匹克运动会男子坐式排球比赛2012年夏季残疾人奥林匹克运动会的男子坐式排球比赛会由8月30日至9月8日在伦敦展览中心举行。本赛事共有10支队伍参加。首先此10支队伍会分成2组,并进行单循环小组赛,完成赛事
  • 方济各·斯贝尔曼方济各·若瑟·斯贝尔曼(英语:Francis Joseph Spellman,1889年5月4日-1967年12月2日)是爱尔兰裔美国人的天主教司铎级枢机及纽约总教区荣休总主教。斯贝尔曼出生于1939年4月8日,美
  • 齐藤大将 齐藤大将(日语:齊藤 大将/さいとう ひろまさ ,1995年6月3日-)是一名出身于日本东京都江户川区的棒球选手,司职投手,目前效力于日本职棒埼玉西武狮。74 西口文也 | 76 阿部真宏 | 7
  • 市立圣西蒙大学市立圣西蒙大学 (西班牙语:Universidad Mayor de San Simón)是一所位于玻利维亚科恰班巴市的大学,于1832年11月5日由安德烈斯·德·桑塔·克鲁斯创立。
  • 苏利文原则苏利文原则(英语:Sullivan Principles)是一个于1977年初步制定的企业行为规范原则,由非裔牧师里昂·苏利文为了促进企业的社会责任所制定,有两个版本:1977年,非裔美国人牧师里昂·