📅  最后修改于: 2023-12-03 15:41:12.311000             🧑  作者: Mango
在Ruby中,每个字符都有一个与之对应的整数代码点(Unicode值),也就是每个字符的唯一标识。字符串代码点是指字符串中每个字符的代码点的集合。在Ruby中,我们可以使用String#codepoints
方法来获取一个字符串的所有代码点。
下面是一个示例:
str = "hello, world"
codepoints = str.codepoints
puts codepoints
# 输出:104 101 108 108 111 44 32 119 111 114 108 100
这个示例中,我们定义了一个字符串str
,然后调用了codepoints
方法得到字符串的所有代码点。最后我们将代码点以空格分割的形式输出到控制台上。
注意,codepoints
方法返回的是一个枚举器对象,我们可以使用to_a
方法将其转换为一个数组。
str = "hello, world"
codepoints = str.codepoints.to_a
puts codepoints
# 输出:[104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100]
此外,我们还可以使用String#ord
方法来获取一个字符串中某个字符的代码点。
下面是一个示例:
str = "hello"
codepoint = str[0].ord
puts codepoint
# 输出:104
这个示例中,我们定义了一个字符串str
,然后使用[]
运算符获取字符串的第一个字符,再使用ord
方法获取这个字符的代码点。
总结一下,字符串代码点是指字符串中每个字符的代码点的集合。在Ruby中,我们可以使用String#codepoints
方法来获取一个字符串的所有代码点,也可以使用String#ord
方法来获取字符串中某个字符的代码点。