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