Ruby 编写多行字符串
Stewart Nguyen
2023年1月30日
2022年5月18日
- 在 Ruby 中的两个引号之间直接写入多行字符串
-
在 Ruby 中使用
+
运算符编写多行字符串 - 在 Ruby 中使用反斜杠编写多行字符串
-
在 Ruby 中使用
heredoc
编写多行字符串 -
在 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"