Ruby 編寫多行字串
Stewart Nguyen
2023年1月30日
- 在 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"