单行小程序

✍ dations ◷ 2025-08-17 02:37:21 #计算机编程

单行小程序(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程序:

相关

  • 中世纪饮食中世纪饮食文化泛指欧洲中世纪(从5世纪到16世纪)的饮食习惯、烹调方法和餐桌礼仪,这套饮食文化跨越近千年,涵盖严寒的北欧和酷热的地中海,屡经转变和更替,成为今日欧洲菜系的基础
  • 印度议会印度国会(印地语:भारत संसद;英语:Parliament of India)是印度的最高立法机关。印度国会包含印度总统及两院,分别为人民院和联邦院。总统有召集国会和休会的权力,并且可以解
  • 爱沙尼亚银行爱沙尼亚银行(爱沙尼亚语: Eesti Pank),是爱沙尼亚的中央银行。爱沙尼亚银行是欧元区央行欧元系统组织的成员。爱沙尼亚银行同时隶属于欧洲中央银行体系。2010年前,爱沙尼亚银行
  • 那乃人赫哲族 是中国与俄罗斯境内的少数民族之一,在俄罗斯称为那乃人(俄语:Нанайцы),分布在哈巴罗夫斯克边疆区至鄂霍次克海一带。赫哲族在中国境内的人数较少,现有5354人(2010
  • 生物分类法生物分类法(英语:Taxonomy),又称科学分类法,是用生物分类学方法来对生物的物种分组和归类的办法。以级别为基础的系统层次结构中使用的一个固定数量的层次,域、界、门、纲、目、科
  • 刚果人民共和国刚果人民共和国(法语:République populaire du Congo)是刚果(布)于1969年至1991年的国名,是非洲第一个社会主义国家。刚果人民共和国于1970年刚果共和国八月革命后成立,由刚果劳动
  • 霍赫菲斯特山坐标:46°49′36″N 11°04′52″E / 46.82667°N 11.08111°E / 46.82667; 11.08111霍赫菲斯特山(德语:Hochfirst),是中欧的山峰,位于奥地利和意大利接壤的边境,属于奥兹塔尔阿尔
  • 穆罕默德·汗·居内久穆罕默德·汗·居内久(英语:Muhammad Khan Junejo,1932年8月18日-1993年3月16日)是巴基斯坦信德省的一名政治人物,曾任巴基斯坦第十任总理。居内久于1932年8月18日在英属印度信德
  • 绵性绵性(1814年-1879年),爱新觉罗氏,不入八分辅国公,清朝乾隆帝皇十七子庆僖亲王永璘第六子。永璘死后,三子庆良郡王绵愍袭封。绵愍死后,奕彩(乾隆帝皇八子仪慎亲王永璇之孙、仪顺郡王绵
  • 蔷薇籽油蔷薇籽油是从蔷薇属植物的种子榨取的植物油,也叫蔷薇子油、蔷薇果油、玫瑰籽油、玫瑰子油、玫瑰果油,常用于制作护肤品。用来榨取蔷薇籽油的蔷薇主要是犬蔷薇(学名:)和锈红蔷薇(学