论坛首页 编程语言技术论坛

升级到Ruby 1.9 笔记一

浏览 4688 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (17) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-07-31   最后修改:2010-08-07
正在将现有的系统从Ruby 1.8升级到最新版本的Ruby1.9,把我在升级过程中遇到的问题记录下来供大家参考。

+ 在Ruby 1.9中不能再使用下面的if格式:

if Boolean-expression  : 


必须要使用:

if Boolean-expression [then] 


我写了一个Regular Expression来找出代码中所有有问题的行:

^\s*if\s+*+\s+:\s*$


+ 同样在Ruby 1.9中不能再使用下面的case格式:

case
when condition [ , condition ] ..  : 
           body


必须要使用:

case
when condition [ , condition ] ..  [then]
           body


用下面的Regular Expression来找出代码中所有有问题的行:

^\s*when\s+.+\s+:\s*$


+ 在Ruby1.8, ?Q会返回字母Q的ASCII码值81,是一个整数,而在Ruby1.9,?Q会返回字符串"Q"。

如果希望能够保持原有的结果,可以用以下方式:

?Q.getbyte(0)


个人感觉?Q如果返回字符串就没有存在的意义了。
   发表时间:2010-07-31  
1.9只有一个亮点,支持unicode(总算支持unicode...了)
0 请登录后投票
   发表时间:2010-07-31  
不管是1.8或1.9 , then 都可以省略。

1.9 默认 $KCODE 设置为 'u' 
0 请登录后投票
   发表时间:2010-07-31  
Mac上rvm install ruby_1.9.2_rc2 好像不支持64位机器
0 请登录后投票
   发表时间:2010-08-01  
ray_linn 写道
1.9只有一个亮点,支持unicode(总算支持unicode...了)


个人觉得最大的亮点是性能。
0 请登录后投票
   发表时间:2010-08-02  
性能是最大亮点。
反而这个unicode,我还是习惯程序员自己去管理编码,现在这种带编码的字符串总是在拼接的时候报错,崩溃死个人。
0 请登录后投票
   发表时间:2010-08-03  
想升1.9,只是RAILS在1.9下有编码问题,,又跑回1.8了,
0 请登录后投票
   发表时间:2010-08-06  
最大亮点当然是性能提高了好几倍。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics