Ruby到底有多简洁? shawn给出了一个Java和Ruby的代码实现对比示例。孰优孰劣,大家见仁见智了。
])eOa% 函数实现对字符串按照指定的格式进行格式化输出。比如:
f(!E!\&n^ 执行: fmtString("(###) ###-####", "1234567890")
+Dd"41 输出: (123) 456-7890
|Mt&p#y Java的函数实现
!IN@i:m - String fmtString(String format, String number)
- {
- if(number != null) {
- int j=0;
- StringBuffer outStr = new StringBuffer();
- for(int i=0; i<pattern.length(); ++i) {
- if (pattern.charAt(i) == '#') {
- if(j < in.length()) {
- outStr.append(in.charAt(j));
- j++;
- }
- }
- else {
- outStr.append(pattern.charAt(i));
- }
- }
- System.out.println(outStr.toString());
- }
- }
P= e4lF. Ruby的函数实现
]Qd{ '}+ - def fmtString(format,number)
- format.split('').each {|c| print(c=='#' ? number.slice!(0,1) : c) }
- print "n"
- end
Z*h43 Ruby的代码实现看上去确实很美。实际上Java与Ruby之间的flamewar并不是什么新鲜事,但谁也不敢说绝对强过谁。Ruby on
itw{;j Rails拥有太多让人兴奋的特性,然而一种新的语言框架要想真正成为主流,不仅仅是技术层面上的问题。曾几何时,Java也是被拿来和C/C++、C#等等来做对比的对象。只有在像IBM这样的巨头们开始力推Java之后,J2EE才逐渐成为企业应用的首选。RoR在成为The
p7s@%scp One之前,还有很多的事情需要去完善。诚如blogdriver所说的:“走的人多了,也便有了路,技术上的东西也是,其实本没有那种东西就好,用的人多了,它自然会发展成功。速度不是问题,关键是RUBY ON RAILS提供了一种快速的网站开发方法,使得将来只要你有想法,你就能很快的把它实现,使得我们可以把主要的精力放在创造想法和满足需求上。”看看这张图片,Java方面的技术书籍摞起来厚厚一叠;RoR呢:一本Ruby、一本Rails。你可以认为这是由于Java广泛的群众基础的缘故,也可以看作是RoR简洁化的优势所在――毕竟开发人员要成天背着这么一打书实在不是什么开心的事情。
%?Rs*-F.~1 -H`\?
R