看到这样一条微博,觉得挺有意思,就记录在这里: 所谓对比,Java真是足够啰嗦: 图不清楚,我来再叙述一下。要做的事情就是,把原有列表里面的每个元素都变成大写的,再放到一个新列表里面去。 这是Java7的版本:? List list = Arrays.asList("andy", "mich
看到这样一条微博,觉得挺有意思,就记录在这里:
所谓对比,Java真是足够啰嗦:

图不清楚,我来再叙述一下。要做的事情就是,把原有列表里面的每个元素都变成大写的,再放到一个新列表里面去。
这是Java7的版本:?
List list = Arrays.asList("andy", "michael", "thomas");
List list2 = new ArrayList<>();
for(String s : list)
list2.add(s.toUpperCase());?这是Java8的版本(移步阅读:《Java8集合中的Lambda表达式》):
List list = Arrays.asList("andy", "michael", "thomas");
List list3 = list.stream().map((it)->it.toUpperCase()).collect(toList());但是它的意义更多的在于使用流式调用和闭包以后,编程范型的转变,对问题解决的描述方式的改变。习惯了以后,它阅读理解起来更加自然,这更接近面向对象的方法调用,接近函数式调用。至于代码,其实并没有省掉多少。
这是C# 3.5+的版本:?
var list = new[]{"andy", "michael", "thomas"}.ToList();
var list2 = (from item in list select item.ToUpper()).ToList();有不少人在回复里面评论道这个代码简洁之类的云云,可是我不这样觉得,思路上是一样的,还是一个过程循环,只不过语法看起来要简单一些,而且from…in…select…这样的写法缺少一点美感。
PHP的写法看起来简单,但还是过程式的:?
array_map("strtoupper", array('andy','michael','thomas'));Clojure:?
(map clojure.string/upper-case '("andy", "michael", "thomas"))其中的单引号是用来防止后面的表达式被解析执行的。
Python:?
IEStore是一款B2C独立网上商店系统,适合企业及个人快速构建个性化网上商店。系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。IEStore网上商店系统不仅在产品功能、稳定性、安全性和SEO支持(搜索引擎优化)等方面具有在同类产品领先地位,重要的是在功能架构上、操作上符合国际化标准,成为国际化电子商务的最佳软件选择之一。功能概要国际化标准IEStore网上商店系统是一个带有多国
0
lst = [x.upper() for x in ['andy', 'michael', 'thomas']]
Python在这里有一个比前面那些都简洁的地方就是中括号,形成list。但是,Python的写法把对元素的操作放到前面去了。这两点和高大上的Haskell是一样的:
[map toUpper x | x <- ["andy","michael","thomas"]]?
以上是第一大类,可称作“过程式循环”。
第二大类则是隐含意义上的循环,像是Vistor模式,循环的流程代码不需要写,只需要写每个元素map操作的代码。
Scala的版本是公认最简单的:?
val strs = Array("andy","michael","thomas").map(_.toUpperCase)非常好理解,而且单纯就这个问题而言,也得益于scala的函数式特性,保证链表不变性,每次操作会产生新的链表,但是这个特性在这里是好处,简洁,但在别处就未必了。当然,如果你需要改变链表自己,那就要使用ListBuffer。
还有Perl管道编程的版本:
list='andy michael thomas' list2=`echo $list | tr a-z A-Z`
别忘了管道编程是链式调用的始祖,简洁还是啰嗦,这个看起来真和语言产生的时间没太大关系的。?
最后是Ruby的:?
%w[ andy michael thomas ].map(&:upcase)
其中的%w仅仅是“格式化命令”,在这里仅仅为了少打几个表示字符串的引号。
文章未经特殊标明皆为本人原创,未经许可不得用于任何商业用途,转载请保持完整性并注明来源链接《四火的唠叨》
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号