c - 'c' 是 Ruby 中的一个字符还是一个字符串 - 或者两者兼而有之?

标签 c ruby string terminology character

char hello[] = "hello"; #C
hello = ['h', 'e', 'l', 'l', 'o'] #Ruby

如果我在 Ruby 中输出 hello[0] 类,它会显示“String”。这是因为Ruby中存在单引号字符串,似乎没有char类型的概念。前几天我对我的同事说他有一个字符数组,他说“不,我没有,我有一个字符串数组”。挑剔,是的,但从技术上讲,他也许是正确的。来自 C 世界的我倾向于不将单个字符视为字符串。同意上面的hello数组是字符串数组而不是字符数组吗?

最佳答案

在 C 中,字符不同于字符串(字符串是字符数组)。 Ruby 没有单独的字符类型。字符串可以包含任意数量的字符,Fixnums 可以包含字符的 ASCII 值,并使用 #chr 方法转换为包含该字符的可打印字符串。

Ruby 中单引号和双引号字符串语法的区别在于对字符串进行了多少预处理(例如插值)。

关于c - 'c' 是 Ruby 中的一个字符还是一个字符串 - 或者两者兼而有之?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/719635/

相关文章:

ruby - 导轨 4 : Append to a "has_many" relation without saving to DB

ruby:从嵌套的 json 中提取字段

java - 字符串 url 编码两次,我无法获取初始字符串

c - 非静态变量的累积返回值?

c - 我如何从文件中读取数字

ruby - `self` 在 ruby​​ 的嵌套方法中如何工作?

ruby - 如何将单个反斜杠字符添加到 Ruby 中的字符串?

java - 如何将 ZonedDateTime 格式化为字符串?

c - 从标准输入读取各种输入

c++ - 正在检查大型订购 list 中的成员资格?