چگونه می توانم رشته ای را در yaml در چندین خط بشکنم؟

ساخت وبلاگ

در یامل ، من یک رشته دارم که بسیار طولانی است. من می خواهم این را در دیدگاه 80 ستونی (یا به همین ترتیب) از ویرایشگر خود نگه دارم ، بنابراین می خواهم رشته را بشکنم. نحو برای این چیست؟به عبارت دیگر ، من این را دارم:

کلید: "این رشته بسیار بسیار بسیار بسیار طولانی من است" 

و من می خواهم این را داشته باشم (یا چیزی برای این کار):

کلید: "این بسیار بسیار بسیار" + "رشته طولانی" است 

من می خواهم از نقل قول ها مانند بالا استفاده کنم ، بنابراین نیازی به فرار از هر چیزی در داخل رشته نیست. دنبال کردن 649 8 8 نشان نقره 24 24 نشان برنز از 24 سپتامبر 2010 در ساعت 19:47 پرسید jjkparker jjkparker 26. 4K 6 6 نشان های طلا 28 28 نشان نقره 29 29 نشان برنز

نکته سریع: شما نمی توانید نظر را در Scalar قرار دهید ، بنابراین نمی توانید بخشی از کلید یا مقدار چند لایه را اظهار نظر کنید. باید خطوط مورد نیاز را از اعلامیه خارج کنید. stackoverflow. com/questions/20890445/…

30 ژوئن 2021 در 8:31 از این مرجع استفاده کنید: yaml-multiline. info 4 مه 2022 در 10:17

10 پاسخ 10

مرتب شده توسط: تنظیم مجدد به طور پیش فرض 5325

وجود دارد5 6نه (یا 63*، بسته به نحوه شمارش) روشهای مختلفی برای نوشتن رشته های چند خطی در YAML.

TL ؛ دکتر

  • Use>بیشتر اوقات: استراحت خط داخلی از بین می رود ، اگرچه در پایان یکی را دریافت می کنید:
 key:>رشته طولانی شما در اینجا. 
 کلید: |### عنوان * گلوله * امتیاز 
 کلید: "antidestab  lishingarianism.  n  nget روی آن." 

Block scalar styles (> , | )

اینها شخصیت هایی مانند و "بدون فرار را فراهم می کنند و یک خط جدید ( n) را به انتهای رشته خود اضافه می کنند.

>سبک تاشو خطوط جدید را در داخل رشته حذف می کند (اما در پایان یکی را اضافه می کند و دو خط جدید را به تک آهنگ ها تبدیل می کند):

Key:>این رشته بسیار طولانی من است 

→ این رشته بسیار بسیار طولانی من است n

فضای پیشرو اضافی حفظ می شود و باعث ایجاد خطوط جدید می شود. به یادداشت زیر مراجعه کنید.

مشاوره: از این استفاده کنید. معمولاً این همان چیزی است که شما می خواهید.

|سبک تحت اللفظی هر خط جدید را در داخل رشته به یک خط جدید تحت اللفظی تبدیل می کند و در پایان یکی را اضافه می کند:

کلید: |این رشته بسیار طولانی من است 

→ این بسیار بسیار بسیار nlong رشته n است

در اینجا تعریف رسمی از Spec 1. 2 YAML آورده شده است

Scalar content can be written in block notation, using a literal style (indicated by “|”) where all line breaks are significant. Alteatively, they can be written with the folded style (denoted by “>") در جایی که هر خط خط به یک فضا تاشو می شود مگر اینکه خط خالی یا یک خطی تر پایان یابد.

مشاوره: از این برای درج متن فرمت شده (به ویژه Markdown) به عنوان یک مقدار استفاده کنید.

Block styles with block chomping indicator (>- , |- ,>+ , |+ )

شما می توانید با اضافه کردن یک شخصیت نشانگر بلوک ، کنترل خط جدید نهایی را در رشته و هر خط خالی ( n n) کنترل کنید:

  • >، |: "کلیپ": فید خط را نگه دارید ، خطوط خالی را بردارید.
  • >- ، |-: "نوار": فید خط را بردارید ، خطوط خالی دنباله دار را بردارید.
  • >+ ، |+: "نگه دارید": فید خط را نگه دارید ، خطوط خالی را دنبال کنید.

سبک های مقیاس "جریان" (، "،")

اینها فرار محدود دارند و یک رشته تک خط و بدون شخصیت خط جدید ایجاد می کنند. آنها می توانند در همان خط کلید یا با خطوط جدید اضافی که ابتدا سلب شده اند ، شروع کنند. شخصیت های Newline دو برابر به یک خط جدید تبدیل می شوند.

سبک ساده (بدون فرار ، بدون # یا: ترکیب ، شخصیت اول نمی تواند "، یا بسیاری از شخصیت های نگارشی دیگر):

کلید: این رشته بسیار طولانی من است 

مشاوره: اجتناب کنید. ممکن است راحت به نظر برسد ، اما شما مسئول هستید که با استفاده از نگارشی ممنوعه و ایجاد خطای نحوی ، خود را با پای خود شلیک کنید.

سبک دو طبقه ( و "باید توسط فرار شود ، خطوط جدید را می توان با یک دنباله تحت اللفظی n وارد کرد ، خطوط را می توان بدون فضاهایی با دنباله دار جمع کرد:):

کلید: "این بسیار بسیار " خیلی  "looooo  ng رشته است.  n  nlove ، yaml." 

→ "این بسیار بسیار " خیلی "رشته looooong است. n nlove ، yaml."

مشاوره: در شرایط بسیار خاص استفاده کنید. این تنها راهی است که می توانید یک نشانه بسیار طولانی (مانند URL) را در خطوط بدون اضافه کردن فضاها بشکنید. و شاید اضافه کردن خط میانی Newlines قابل درک باشد.

سبک تک کادمی (تحت اللفظی "باید دو برابر شود ، هیچ شخصیت خاصی وجود ندارد ، احتمالاً برای بیان رشته ها با شروع دو برابر مفید است):

کلید: "این رشته بسیار" بسیار "بسیار" من است ، آن را ندارد. " 

→ "این بسیار بسیار " خیلی "رشته طولانی است ، اینطور نیست."

مشاوره: اجتناب کنید. مزایای بسیار کمی ، بیشتر ناراحتی.

سبک های بلوک با شاخص های تورفتگی

فقط در صورتی که موارد فوق برای شما کافی نباشد ، می توانید "نشانگر تورفتگی بلوک" اضافه کنید (بعد از نشانگر چمپینگ بلوک ، اگر یکی از آنها را دارید):

>8 رشته طولانی من از اینجا شروع می شود - | +1 این یکی از اینجا شروع می شود 

Note: Leading spaces in Folded style (> )

اگر فضاهای اضافی را در ابتدای خطوط اول به سبک تاشو وارد کنید ، آنها با یک خط جدید جایزه نگه داشته می شوند.(این با سبک های جریان اتفاق نمی افتد.) بخش 6. 5:

علاوه بر این ، تاشو در مورد خطوط متنی اطراف که حاوی فضای سفید پیشرو هستند ، اعمال نمی شود. توجه داشته باشید که چنین خطی تر ممکن است فقط از چنین فضای سفید پیشرو تشکیل شود.

>رشته های طولانی من در بسیاری از فضاهای بالا - رشته طولانی من در بسیاری از فضاهای بالا 

→ ["رشته های طولانی n من n n فضای بالاتر از n" ، "رشته طولانی من فضاهای مانعی بالا"]

خلاصه

در این جدول ، _ به معنای شخصیت فضایی است. n به معنای "شخصیت جدید" ( n در JavaScript) به جز "سایر ویژگی ها" است."فضای پیشرو" پس از خط اول اعمال می شود (که تورفتگی را تعیین می کند)

> | " ' >- >+ |- |+
فضاها/خطوط جدید به عنوان:
فضای دنباله دار _ _ _ _ _ _
فضای پیشرو n_ n_ n_ n_ n_ n_
یک خط جدید _ _ _ _ _ _
Newline Double n n n n n n
Newline نهایی
آخرین خط جدید Newline n n n n
نحوه ایجاد یک تحت اللفظی:
نقل قول ' ' ' ' '' ' ' ' '
نقل قول مضاعف " " " " " " " " "
پشت سر هم \
ویژگی های دیگر
خطوط جدید درون خط با n استراتژی‌های اسکالپ...
ما را در سایت استراتژی‌های اسکالپ دنبال می کنید

برچسب : نویسنده : ناصر تقوایی بازدید : <-PostHit-> تاريخ : جمعه 6 مرداد 1402 ساعت: 21:28