正在将现有的系统从Ruby 1.8升级到最新版本的Ruby1.9,把我在升级过程中遇到的问题记录下来供大家参考。
+ 在Ruby 1.9中不能再使用下面的if格式:
必须要使用:
我写了一个Regular Expression来找出代码中所有有问题的行:
+ 同样在Ruby 1.9中不能再使用下面的case格式:
必须要使用:
用下面的Regular Expression来找出代码中所有有问题的行:
+ 在Ruby1.8, ?Q会返回字母Q的ASCII码值81,是一个整数,而在Ruby1.9,?Q会返回字符串"Q"。
如果希望能够保持原有的结果,可以用以下方式:
个人感觉?Q如果返回字符串就没有存在的意义了。
+ 在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如果返回字符串就没有存在的意义了。