We stand alone,
together.
- BAND of BROTHERS
Java/Ruby实战对决
标签 ( RubyOnRails ): 程序员
Ruby到底有多简洁? shawn给出了一个Java和Ruby的代码实现对比示例。孰优孰劣,大家见仁见智了。
函数实现对字符串按照指定的格式进行格式化输出。比如:
执行: fmtString("(###) ###-####", "1234567890")
输出: (123) 456-7890
Java的函数实现
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());
}
}
Ruby的函数实现
def fmtString(format,number)
format.split('').each {|c| print(c=='#' ? number.slice!(0,1) : c) }
print "\n"
end
This Entry was Last Modified on 2007-05-25 23:06
日志存档
ac米兰 ajax apache api blog blogchina cctv css dhtml download dreamhost dvd encoding error feeds firefox flash framework gmail google google_analytics google_talk http ide ie ie7 javascript jquery linux maxthon mod_rewrite movies msn mvc mysql oracle php pippo pivot rss shell socket sohu spammers svn vs web web2 webclient weblogic windows xml zend 阿根廷 安全漏洞 奥运 备份 变形金刚 程序员 地铁 浮动层 搞笑 工具 冠军杯 管理 火箭 进程 客户端 篮球 厉 旅行 命令行 欧洲杯 人生 设计模式 世界杯 数据库 搜索引擎 算法 图片 无极 系统优化 笑话 姚明 游戏 源代码 周杰伦 字符编码 足球 浏览器


sub fmtString() {
my ( $format, $number ) = @_;
map { $format =~ s/#/$_/ } split(//, $number);
print $format;
}
另外,python比起ruby一点也不差,一样简洁,而功能强大得多,只是比较少用在web开发上。
楼主太片面了
仅仅凭一个正则表达来否定java,是很不科学的。
int ii=0;
for(char c:format.toCharArray()){
System.out.print(c=='#'?number.substring(ii, ++ii):c);
}
}