Ruby 中 %q 和 %Q 的用法?

· 约 3 分钟读完 · 第 17 / 199 章

推荐答案

在 Ruby 中,%q 和 %Q 是用于定义字符串的快捷方式。它们的主要区别在于字符串的插值和转义字符的处理。

  • %q:用于定义单引号字符串,不支持字符串插值和转义字符。
  • %Q:用于定义双引号字符串,支持字符串插值和转义字符。

示例代码

输出结果

本题详细解读

%q 的用法

%q 用于定义单引号字符串,类似于使用单引号 '' 定义的字符串。它不支持字符串插值和转义字符。这意味着在 %q 定义的字符串中,\n 不会被解释为换行符,而是直接作为字符串的一部分输出。

%Q 的用法

%Q 用于定义双引号字符串,类似于使用双引号 "" 定义的字符串。它支持字符串插值和转义字符。这意味着在 %Q 定义的字符串中,\n 会被解释为换行符,并且可以在字符串中使用 #{} 进行变量插值。

使用场景

  • 当需要定义一个不包含插值和转义字符的字符串时,可以使用 %q。
  • 当需要定义一个包含插值和转义字符的字符串时,可以使用 %Q。

注意事项

  • %q 和 %Q 后面可以跟任意非字母数字字符作为分隔符,常见的有 {}、[]、() 等。
  • 如果字符串中包含与分隔符相同的字符,需要转义或选择其他分隔符。

示例代码

输出结果