1.9.3-p194 :059 > arabic
=> "أَبْجَدِيَّة عَ"
1.9.3-p194 :065 > arabic.encoding
=> #<Encoding:UTF-8>
1.9.3-p194 :068 > "begin #{arabic} end " + " Goodbye "
=> "begin أَبْجَدِيَّة عَ end Goodbye "
1.9.3-p194 :067 > "#{arabic} end " + " Goodbye "
=> "end Goodbye أَبْجَدِيَّة عَ"
我希望最后的输出是“结束再见”。
为了让ruby忽略阿拉伯语是rtl语言,我需要经历哪些字符编码循环?
更新:
我可以用以下红宝石复制:
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
jruby 1.7.3 (1.9.3p385) 2013-02-21 dac429b on Java HotSpot(TM) 64-Bit Server VM 1.7.0_15-b03 [linux-amd64]
jruby 1.7.4 (1.9.3p392) 2013-06-07 fffffff on Java HotSpot(TM) 64-Bit Server VM 1.7.0_15-b03 [linux-amd64]
Here is a gist with the code from above
最佳答案
这是一个已经修复的错误。ruby不知道阿拉伯语是rtl语言。无法在2.0.0-p0、1.9.3-p392或我安装的任何其他Ruby上复制它。请尝试升级到1.9的最新版本。