在 Ruby 中,问号被解释为 "z" 是因为 Ruby 的字符串字面量中,问号后面的字符被视为 Unicode 转义序列。Unicode 转义序列以 "\u" 开头,后面跟着 4 个十六进制数字,表示一个 Unicode 字符。因此,当 Ruby 解释器遇到 "\u003F" 时,它会将其转换为对应的 Unicode 字符,即问号(?)。
例如,如果你在 Ruby 中定义一个字符串:
str = "Hello\u003FWorld"
这个字符串将包含 "Hello?World"。
如果你想在字符串中使用问号字符,可以使用双问号("\?")或将问号放在字符串中,而不是使用 Unicode 转义序列。例如:
str = "Hello\\?World"
str = "Hello?World"
这两个字符串都将包含 "Hello?World"。
领取专属 10元无门槛券
手把手带您无忧上云