Ruby到底有多简洁? shawn给出了一个Java和Ruby的代码实现对比示例。孰优孰劣,大家见仁见智了。
5d4-95['_ 函数实现对字符串按照指定的格式进行格式化输出。比如:
x`eYC i 执行: fmtString("(###) ###-####", "1234567890")
d#z67Nl6 输出: (123) 456-7890
lMO0d_:b1 Java的函数实现
U&eLj"XZ - 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());
- }
- }
:e9E#o Ruby的函数实现
Ahebr{u - def fmtString(format,number)
- format.split('').each {|c| print(c=='#' ? number.slice!(0,1) : c) }
- print "n"
- end
A qm0|GlJ Ruby的代码实现看上去确实很美。实际上Java与Ruby之间的flamewar并不是什么新鲜事,但谁也不敢说绝对强过谁。Ruby on
3A9|{Vaz+6 Rails拥有太多让人兴奋的特性,然而一种新的语言框架要想真正成为主流,不仅仅是技术层面上的问题。曾几何时,Java也是被拿来和C/C++、C#等等来做对比的对象。只有在像IBM这样的巨头们开始力推Java之后,J2EE才逐渐成为企业应用的首选。RoR在成为The
AuCVpDH One之前,还有很多的事情需要去完善。诚如blogdriver所说的:“走的人多了,也便有了路,技术上的东西也是,其实本没有那种东西就好,用的人多了,它自然会发展成功。速度不是问题,关键是RUBY ON RAILS提供了一种快速的网站开发方法,使得将来只要你有想法,你就能很快的把它实现,使得我们可以把主要的精力放在创造想法和满足需求上。”看看这张图片,Java方面的技术书籍摞起来厚厚一叠;RoR呢:一本Ruby、一本Rails。你可以认为这是由于Java广泛的群众基础的缘故,也可以看作是RoR简洁化的优势所在――毕竟开发人员要成天背着这么一打书实在不是什么开心的事情。
mU_O64 "N;|~S)w!