Ruby 編寫多行字串
Stewart Nguyen
2023年1月30日
Ruby
Ruby String
- 在 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"
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe