Ruby 编写多行字符串

Stewart Nguyen 2023年1月30日
  1. 在 Ruby 中的两个引号之间直接写入多行字符串
  2. 在 Ruby 中使用 + 运算符编写多行字符串
  3. 在 Ruby 中使用反斜杠编写多行字符串
  4. 在 Ruby 中使用 heredoc 编写多行字符串
  5. 在 Ruby 中使用 % 运算符文字编写多行字符串
Ruby 编写多行字符串

本文将讨论如何在 Ruby 编程语言中创建多行字符串。

在 Ruby 中的两个引号之间直接写入多行字符串

只要我们的字符串保留在两个引号之间,我们就可以通过简单地插入换行符来创建多行字符串。

multiline = 'SELECT email, name
FROM users
WHERE is_single'

输出:

"SELECT email, name\n             FROM users\n             WHERE is_single"
>puts multi-line
SELECT email, name
FROM users
WHERE is_single

这种方法保留了空格和换行符。

可以使用单引号或双引号。如果我们使用一对双引号,我们可以在字符串内部进行插值。

在 Ruby 中使用 + 运算符编写多行字符串

字符串连接运算符对于在 Ruby 中编写多行字符串是天真的。与上述方法不同,使用 + 不会保留空格或换行符。

multiline = 'SELECT email, name ' +
'FROM users ' +
'WHERE is_single'

输出:

"SELECT email, name FROM users WHERE is_single"

跨行时,此方法会使代码看起来不整洁。

在 Ruby 中使用反斜杠编写多行字符串

反斜杠是续行,它向解释器表明当前代码行尚未完成,将在下一行继续。

此行为可用于在 Ruby 中编写多行字符串,其结果与字符串连接相同。

multiline = 'SELECT email, name ' \
'FROM users ' \
'WHERE is_single'

输出:

"SELECT email, name FROM users WHERE is_single"

在 Ruby 中使用 heredoc 编写多行字符串

heredoc 允许我们编写一个大字符串,而不必担心在每行的末尾添加 +\。它还保持缩进和格式作为第一个解决方案。

语法以 <<- 开始,以文档的名称内容继续,并以单独的行中的文档名称结束。

multiline = <<-MY_DOC
SELECT email, name
FROM users
WHERE is_single
MY_DOC

输出:

"SELECT email, name\nFROM users\nWHERE is_single\n"
>puts multi-line
SELECT email, name
FROM users
WHERE is_single

MY_DOC 是文档的名称,可以是小写,但首选大写。

heredoc 也允许插值。

在 Ruby 中使用 % 运算符文字编写多行字符串

除了上述方法,我们还可以使用 %{} 在 Ruby 中创建多行字符串。

它的工作方式与第一种方法相同。缩进和换行也被保留。

multiline = %{
SELECT email, name
FROM users
WHERE is_single
}

输出:

"\nSELECT email, name\nFROM users\nWHERE is_single\n"

相关文章 - Ruby String