Skip to Content

什麼是 YAML?您可以編寫多行字串嗎?

YAML 對於“但又另一種加價語言”或“非加價語言的YAML”來說是很短的,後者用來強調YAML是用於資料而非文件。YAML 是一種資料序列化語言,用於寫入配置檔案,以部署基礎架構。舉例來說,如果您想將 Docker 應用程式部署到 Kubernetes您會使用 YAML 檔案來設定執行個體。YAML 是人類可讀的,因此在部署期間建立檔案並讀取說明非常簡單。

如果您是 YAML 新手,您很快就會意識到需要一種方法將串列分解為多行,這是網路上最常見的 YAML 問題之一。在本文章中,我們將探討 YAML 多行字串的兩種主要方法,以及其他一些常見問題。

YAML 與 Whitespace:須知事項

YAML 檔案使用空白字元和歸位字元,但內容會在擷取到特定資源時序列化。建立 YAML 檔案的開發人員可以使用縮排和間距來格式化文字,以便於閱讀。YAML 使用與其他語言相似的方式處理空白空間,因此您可以視需要擁有更多空間來格式化檔案。

如何打破 YAML 多線字串的界限

擷取 YAML 檔案時,有時可能想要將換行時間保留在多行字串中。以下列虛擬程式碼為例:

    金鑰:

            項目1

            項目2

            項目3

在每個明細項目 (例如項目 1、項目 2 和項目 3) 之後,您都會有歸位字元。如果您將 YAML 語法維持原樣,則字串會變成以下內容:

項目 1 項目 2 項目 3

此字串格式建立了一個長字串,而沒有任何換行格式,因此您可能要保留換行次數。文字操作者可以保留斷線。文學運算子是管道 (“|”) 字元。為維持換行,您的 YAML 語法應變更為以下項目:

    金鑰:|

            項目1

            項目2

            項目3

請注意“關鍵”指令之後的管道特性。當應用程式擷取 YAML 檔案時,會轉換成下列字串:

項目1\nitem2\nitem3

“\n” 字元代表一條新行。將這個字串列印到應用程式時,每個項目都會顯示附加的歸位符號,以保留 YAML 指令中的格式。

YAML 多線區塊 vs. 長線

對於長字串,您需要使用多行區塊來讀取 YAML 檔案。例如,如果您的 YAML 檔案中有 250 字的段落,您需要將句子分成多行區塊。除段落結尾外,您不想保留歸位字元。您可以格式化 YAML 檔案,以使用多行長字串,並將字串序列化,以附加空格到每個項目,而非新的行字元。 

若要使用空白字元而非附加新行,請使用折疊式(>)運算子:

    金鑰:>

            項目1

            項目2

            項目3

YAML 透過折疊的運算子,在建立字串時增加空間。字串如下:

項目1 項目2 項目3\n

YAML 多線常見問題

如何在 YAML 中插入換行次數?

使用常值運算子 (“|”),將保留 YAML 字串中的任何換行次數。使用歸位按鍵動作建立換行時,方式與在標準文件中建立換行時相同。以下範例保留 YAML 字串中的歸位符號:

    金鑰:|

            項目1

            項目2

            項目3

YAML 可以有空白行嗎?

可以,以文字區塊表示的字串也可以包含空白行。保留運算子(“|+”) 保留空白行,以及新的行字元。下列 YAML 是多行字串的範例,在區塊結尾處有兩個空行:

    金鑰: |+

            項目1

            項目2

            項目3

YAML 剖析器會顯示上述語法中的下列字串:

項目1\nitem2\nitem3\n\n

YAML 是否關心空白?

分頁空白是 YAML 中的非法字元,因此任何縮排都必須搭配標準單一空白字元使用。標籤可用於引用的字串中,但無法用於格式化 YAML 檔案。空白凹痕的一致性對於資料可讀性非常重要。

YAML 是否允許空間?

可以,您可以在 YAML 檔案中擁有標準空間。空格應用於縮排,而非標籤字元。標籤字元在剖析 YAML 檔案時可能導致錯誤。

09/2024
Portworx on Red Hat OpenShift Bare Metal
A validated architecture and design model to deploy Portworx® on Red Hat OpenShift running on bare metal hosts.
參考架構
57 頁面
聯繫我們
問題或建議

如對Pure的產品或認證,有任何的疑問或建議,歡迎與我們聯繫!

預約試用

預約現場示範,親眼看看 Pure 如何幫助您將資料轉化為強大的成果。 

聯絡我們:886-2-3725-7989

媒體:pr@purestorage.com

 

Pure Storage總部

34F, Taipei Nanshan Plaza,

No. 100, Songren Road,

Xinyi District,

Taipei City 110016

Taiwan (R.O.C.)

800-379-7873 (一般資訊)

info@purestorage.com

關閉
您的瀏覽器已不受支援!

較舊版的瀏覽器通常存在安全風險。為讓您使用我們網站時得到最佳體驗,請更新為這些最新瀏覽器其中一個。