如何获取在Ruby 1.8(字节)和1.9(字符)中都可用的字符串的第一个字符?Ruby 1.8和1.9字符串差异
回答
另一种解决方案
"string"[0].chr # => 's'
这应该这样做...
s[0,1]
这将返回在1.8的第一个字节和1.9第一字符,但在每种情况下的结果是一个字符串。
如果你想要两个中的第一个UTF-8字符序列,这是棘手的。正则表达式引擎是1.8与UTF-8意识一个地方,所以你可以使用:
s[/./u]
谢谢!但是这假定第一个字符不是多字节? – Dennis 2011-06-04 20:13:00
这是有效的,但它可能会让别人看到相同的代码*为什么*你会这么做。如果你在一个团队中工作,最好在代码中留下评论或者使用更明确的'[0] .chr'。 – coreyward 2011-06-04 20:15:26
@丹尼斯,不完全。它在1.8中返回第一个*字节*,而在1.9中返回第一个*字符*。我已经更新了答案来讨论编码字符。 – DigitalRoss 2011-06-04 20:25:43
- 1. 红宝石1.8和1.9之间的字符串长度差异
- 2. 差异`阵列#to_s`用Ruby 1.8和Ruby 1.9
- 3. 的Ruby 1.8.7 VS 1.9 *字符串[Fixnum对象]差异
- 4. Ruby 1.9比Ruby 1.8慢?
- 5. Ruby 1.9.x和字符串编码
- 6. ruby 1.8 to 1.9 ruby -v显示ruby 1.9.2p0
- 7. 的差异日期字符串的Ruby 1.9.3和Ruby 1.8.7
- 8. 如何在Ruby 1.9和1.8中捕获LoadError异常?
- 9. 字符串#包工作在1.9+,而不是1.8 *
- 10. Rails 1.8的Ruby 1.8和1.9的市场份额
- 11. 字符串差异
- 12. 如何打电话/需要Ruby 1.9的Ruby 1.8 Lib 1.9
- 13. 处理字符串编码与红宝石1.8相同的代码和1.9
- 14. Ruby 1.9中的Unicode字符串
- 15. 学习Ruby - 1.8或1.9版本?
- 16. 我应该学习Ruby 1.8还是1.9?
- 17. 从Ruby 1.8移动代码到1.9
- 18. Ruby 1.9的特殊字符
- 19. 差异WIN32和其他C字符串
- 20. 字符串差异php
- 21. JavaScript字符串差异
- 22. Objective-C字符串差异
- 23. TSQL字符串差异度
- 24. 字符串和字符串生成器之间的差异
- 25. Ruby-FFI(ruby 1.8):读取UTF-16LE编码字符串
- 26. 使用Ruby 1.9字符串作为字节流而不是编码字符串
- 27. 差B/W字符串和字符串
- 28. Ruby运算符差异
- 29. 的Clojure 1.8字符串与具有 '\\ R'
- 30. 在Ruby 1.8中支持Ruby 1.9的哈希语法
感谢您的随访。你是对的。 – Dennis 2011-06-05 14:11:03