我需要获取一个字符的ASCII码(在Project Euler问题#22中有特定要求),但我遇到了问题。
作为ruby新手,我查找了相关资料,发现使用?
可以实现:例如?A
。但是当我将其应用到我的代码中后,语句的结果却是字符串"A"
而非字符编码。使用[0]
或者slice(0)
同样会出现这个问题,理论上它们都能返回ASCII码。
唯一可能考虑的原因是版本问题。我正在使用1.9.1-p0,下午刚从1.8.6升级过来。我从一个工作的Ruby版本中偷了点懒,认为我可能已经拥有不随.zip文件捆绑的文件,所以没有下载它们。
那么为什么我的所有ASCII码都变成了实际的字符呢?
?a.ord
会得到97,而仅仅写a.ord
会查找名为a
的变量或方法,并在没有该名称或变量a
不包含字符串时抛出NameError或NoMethodError异常。 - Chuck