আমি একাধিক লাইনের উপরে একটি স্ট্রিং কীভাবে ভাঙ্গবো?


1535

ওয়াইএএমএলে আমার একটি স্ট্রিং রয়েছে যা খুব দীর্ঘ। আমি এটি আমার সম্পাদকের 80-কলামে (বা তাই) দর্শনের মধ্যে রাখতে চাই, তাই আমি স্ট্রিংটি ভেঙে দিতে চাই। এর সিনট্যাক্স কী?

অন্য কথায়, আমার কাছে এটি রয়েছে:

Key: 'this is my very very very very very very long string'

এবং আমি এটি (বা এই প্রভাব কিছু) পেতে চাই:

Key: 'this is my very very very ' +
     'long string'

আমি উপরের মত উদ্ধৃতি ব্যবহার করতে চাই, তাই স্ট্রিংয়ের মধ্যে আমার কোনওরকম পালানোর দরকার নেই।

উত্তর:


975

ইয়ামল ভাঁজ করা শৈলী ব্যবহার করে, প্রতিটি লাইন বিরতি স্থান দ্বারা প্রতিস্থাপিত হয়। প্রতিটি লাইনের ইন্ডেনশন উপেক্ষা করা হবে। একটি লাইন বিরতি শেষে sertedোকানো হবে।

Key: >
  This is a very long sentence
  that spans several lines in the YAML
  but which will be rendered as a string
  with only a single carriage return appended to the end.

http://symfony.com/doc/current/components/yaml/yaml_format.html

আপনি "ব্লক চম্পিং ইন্ডিকেটর" টি অনুসরণ করে রেখার বিরতিটি দূর করতে ব্যবহার করতে পারেন:

Key: >-
  This is a very long sentence
  that spans several lines in the YAML
  but which will be rendered as a string
  with NO carriage returns.

পাশাপাশি অন্যান্য নিয়ন্ত্রণ সরঞ্জাম উপলব্ধ (উদাহরণস্বরূপ ইনডেন্টেশন নিয়ন্ত্রণের জন্য)।

Https://yaml-multiline.info/ দেখুন


ধন্যবাদ, তবে আপনি এই বাক্য বাক্যটি উদ্ধৃতিতে গুটিয়ে রাখতে পারবেন না, মনে হয়: ফলাফলগুলি স্ট্রিংয়ে উদ্ধৃতিগুলি আক্ষরিক হিসাবে উপস্থিত হয়।
jjkparker

আমার অ্যাপ্লিকেশনটিতে অনুবাদ শেষ হওয়ার পরে ঠিক কোনওভাবে গাড়ীর রিটার্ন যুক্ত করা হয়েছে। এইভাবে জাভাস্ক্রিপ্ট এটিকে একাধিক লাইন হিসাবে দেখে এবং ব্যর্থ হয়। {{- 'key'|trans -}}কাজ করে না।
রাভানলাক

আপনি কীভাবে এই তালিকার মান হিসাবে একই প্রভাব পাবেন?
মিখাইল

প্রতিটি লাইন বিরতি স্থান দ্বারা প্রতিস্থাপন করা হয় বা সহজ সরানো?
স্টিভ

2
প্রতিটি লাইন বিরতি স্থান দ্বারা প্রতিস্থাপিত হয় <- তবে একটি ডাবল-লাইন ব্রেক একটি লাইন বিরতি হবে।
জিন জর্দান

3348

YAML- এ মাল্টি-লাইন স্ট্রিং লেখার বিভিন্ন উপায় রয়েছে 5 6 নাইন (বা 63 *, আপনি কীভাবে গণনা করছেন তা নির্ভর করে) ways

টি এল; ডিআর

  • সাধারণত, আপনি চান >:

    key: >
      Your long
      string here.
    
  • আপনি যদি \nস্ট্রিংয়ের মতো লাইনব্রেকগুলি সংরক্ষণ করে রাখতে চান (উদাহরণস্বরূপ, অনুচ্ছেদের সাথে এম্বেডড মার্কডাউন) ব্যবহার করুন |

    key: |
      ### Heading
    
      * Bullet
      * Points
    
  • আপনি যদি শেষে লাইনব্রেক যুক্ত করতে চান না >-বা |-তার পরিবর্তে ব্যবহার করুন ।

  • আপনার যদি শব্দের মাঝে লাইনগুলি বিভক্ত করতে হয় বা আক্ষরিকভাবে লাইনব্রেকগুলি টাইপ \nকরতে হয় তবে পরিবর্তে ডাবল উদ্ধৃতি ব্যবহার করুন:

    key: "Antidisestab\
     lishmentarianism.\n\nGet on it."
    
  • YAML পাগল।

স্কেলার শৈলীগুলি ব্লক করুন ( >, |)

এগুলি অক্ষর যেমন: এড়ানো \এবং "ছাড়াই অনুমতি দেয় এবং \nআপনার স্ট্রিংয়ের শেষে একটি নতুন লাইন ( ) যুক্ত করে।

> ভাঁজ করা শৈলী স্ট্রিংয়ের মধ্যে একক নিউলাইনগুলি সরিয়ে দেয় (তবে শেষে একটি যুক্ত করে এবং ডাবল নিউলাইনগুলিকে একক রূপান্তর করে):

Key: >
  this is my very very very
  long string

this is my very very very long string\n

| আক্ষরিক শৈলী স্ট্রিংয়ের মধ্যে প্রতিটি নিউলাইনকে আক্ষরিক নতুনরেখায় পরিণত করে এবং শেষে একটি যোগ করে:

Key: |
  this is my very very very 
  long string

this is my very very very\nlong string\n

এখানে ওয়াইএএমএল স্পেস 1.2 থেকে সরকারী সংজ্ঞা দেওয়া আছে

আক্ষরিক শৈলী ব্যবহার করে ("|" নির্দেশিত) যেখানে সমস্ত লাইন বিরতি উল্লেখযোগ্য, স্কেলার সামগ্রীটি ব্লক নোটেশনে লেখা যেতে পারে। বিকল্পভাবে, এগুলি ভাঁজ শৈলীতে লেখা যেতে পারে (">" দ্বারা উল্লিখিত) যেখানে প্রতিটি লাইন বিরতি একটি ফাঁকে ভাঁজ করা হয় যদি না এটি খালি বা একাধিক অভিযুক্ত লাইন শেষ করে।

ব্লক chomping সূচকটি সঙ্গে ব্লক শৈলী ( >-, |-, >+, |+)

আপনি স্ট্রিংয়ের চূড়ান্ত নতুন লাইনের হ্যান্ডলিং এবং যে কোনও ফাঁকা ফাঁকা রেখা ( \n\n) ব্লক চম্পিং সূচক চরিত্র যুক্ত করে নিয়ন্ত্রণ করতে পারেন:

  • >, |: "ক্লিপ": লাইন ফিড রাখুন, অনুসরণকারী ফাঁকা লাইনগুলি সরিয়ে দিন।
  • >-, |-: "স্ট্রিপ": লাইন ফিডটি সরিয়ে ফেলুন, অনুসরণকারী ফাঁকা রেখাগুলি সরান।
  • >+, |+: "রাখুন": লাইন ফিড রাখুন, ফাঁকা রেখাগুলি অনুসরণ করুন।

"ফ্লো" স্কালে শৈলী ( , ", ')

এগুলির মধ্যে সীমিত অবকাশ রয়েছে এবং কোনও একক লাইনের স্ট্রিং কোনও নতুন রেখার অক্ষর নেই ruct তারা কী হিসাবে একই লাইনে বা প্রথমে অতিরিক্ত অতিরিক্তলাইনগুলি দিয়ে শুরু করতে পারে।

প্লেইন শৈলী (কোন পলায়নের কোন#বা:সমন্বয়, প্রথম অক্ষর সীমা):

Key: this is my very very very 
  long string

ডাবল-কোটেড স্টাইল (\এবং"অবশ্যই\এড়াতে হবে, নিউলাইনগুলি একটি আক্ষরিক\nঅনুক্রমেরসাথে সন্নিবেশ করা যেতে পারে, ট্র্যাকিংয়ের সাথে ফাঁকা জায়গা ছাড়া লাইনগুলি সংমিশ্রণ করা যেতে পারে\):

Key: "this is my very very \"very\" loooo\
  ng string.\n\nLove, YAML."

"this is my very very \"very\" loooong string.\n\nLove, YAML."

একক-উদ্ধৃত শৈলী (আক্ষরিক'অবশ্যই দ্বিগুণ হতে হবে, কোনও বিশেষ অক্ষর নেই, ডাবল উদ্ধৃতি দিয়ে শুরু হওয়া স্ট্রিং প্রকাশের জন্য সম্ভবত দরকারী):

Key: 'this is my very very "very"
  long string, isn''t it.'

"this is my very very \"very\" long string, isn't it."

সারসংক্ষেপ

এই টেবিল, _মানে space character\n"ইনলাইন \nনিউলাইনলাইন" সারি বাদে "নিউলাইন চরিত্র" ( জাভাস্ক্রিপ্টে) এর অর্থ, যেখানে এর আক্ষরিক অর্থ ব্যাকস্ল্যাশ এবং একটি এন)।

                      >     |            "     '     >-     >+     |-     |+
-------------------------|------|-----|-----|-----|------|------|------|------  
Trailing spaces   | Kept | Kept |     |     |     | Kept | Kept | Kept | Kept
Single newline => | _    | \n   | _   | _   | _   | _    |  _   | \n   | \n
Double newline => | \n   | \n\n | \n  | \n  | \n  | \n   |  \n  | \n\n | \n\n
Final newline  => | \n   | \n   |     |     |     |      |  \n  |      | \n
Final dbl nl's => |      |      |     |     |     |      | Kept |      | Kept  
In-line newlines  | No   | No   | No  | \n  | No  | No   | No   | No   | No
Spaceless newlines| No   | No   | No  | \   | No  | No   | No   | No   | No 
Single quote      | '    | '    | '   | '   | ''  | '    | '    | '    | '
Double quote      | "    | "    | "   | \"  | "   | "    | "    | "    | "
Backslash         | \    | \    | \   | \\  | \   | \    | \    | \    | \
" #", ": "        | Ok   | Ok   | No  | Ok  | Ok  | Ok   | Ok   | Ok   | Ok
Can start on same | No   | No   | Yes | Yes | Yes | No   | No   | No   | No
line as key       |

উদাহরণ

"স্পেস" এর আগে লাইনের পিছনের স্থানগুলি নোট করুন।

- >
  very "long"
  'string' with

  paragraph gap, \n and        
  spaces.
- | 
  very "long"
  'string' with

  paragraph gap, \n and        
  spaces.
- very "long"
  'string' with

  paragraph gap, \n and        
  spaces.
- "very \"long\"
  'string' with

  paragraph gap, \n and        
  s\
  p\
  a\
  c\
  e\
  s."
- 'very "long"
  ''string'' with

  paragraph gap, \n and        
  spaces.'
- >- 
  very "long"
  'string' with

  paragraph gap, \n and        
  spaces.

[
  "very \"long\" 'string' with\nparagraph gap, \\n and         spaces.\n", 
  "very \"long\"\n'string' with\n\nparagraph gap, \\n and        \nspaces.\n", 
  "very \"long\" 'string' with\nparagraph gap, \\n and spaces.", 
  "very \"long\" 'string' with\nparagraph gap, \n and spaces.", 
  "very \"long\" 'string' with\nparagraph gap, \\n and spaces.", 
  "very \"long\" 'string' with\nparagraph gap, \\n and         spaces."
]

ইন্ডেন্টেশন সূচকগুলি সহ শৈলীগুলি ব্লক করুন

উপরেরটি আপনার পক্ষে যথেষ্ট না হলে আপনি " ব্লক ইন্ডেন্টেশন ইনডিকেটর " যুক্ত করতে পারেন (আপনার ব্লক চম্পিং ইন্ডিকেটর পরে, যদি আপনার একটি থাকে):

- >8
        My long string
        starts over here
- |+1
 This one
 starts here

অভিযোজ্য বস্তু

আপনি যদি ভাঁজ শৈলীতে প্রথম-প্রথম লাইনের শুরুতে অতিরিক্ত স্থান সন্নিবেশ করান তবে সেগুলি বোনাস নিউলাইন দিয়ে রাখা হবে। প্রবাহ শৈলীতে এটি ঘটে না:

- >
    my long
      string
- my long
    string

["my long\n string\n", "my long string"]

আমিও পারি না।

*2 টি ব্লক শৈলী, 2 টি সম্ভাব্য ব্লক চম্পিং সূচক (বা কোনও নয়) এবং 9 টি সম্ভাব্য ইনডেন্টেশন সূচক (বা কোনও নয়), 1 সাধারণ শৈলী এবং 2 উদ্ধৃত শৈলী সহ: 2 x (2 + 1) x (9 + 1) + 1 + 2 = 63

এই তথ্যের কিছু সংক্ষিপ্ত বিবরণ এখানে দেওয়া হয়েছে


28
Synt৩ টি সিনট্যাক্সের মধ্যে, আপনি কি মনে করেন যে একটি একক আছে যা আপনাকে একাধিক লাইনে একটি স্ট্রিং বানান করতে দেয় যাতে নিউলাইন বা স্পেস না থাকা উচিত? আমি বোঝাতে চাইছি "..." + "..."বেশিরভাগ প্রোগ্রামিং ভাষায় কী লিখবে বা বাশ-এ নতুন লাইনের আগে ব্যাকস্ল্যাশ।
টোবিয়া

23
@ পেপলুয়ান আমি প্রতিটি সম্ভাব্য সংমিশ্রণ চেষ্টা করেছিলাম এবং কেবলমাত্র একটিই পেয়েছি যা স্পেসলেস কনটেনটেশনের জন্য অনুমতি দেয়: স্ট্রিংয়ের চারপাশে ডাবল কোট এবং নিউলাইন (এবং ইন্ডেন্টেশন) এর আগে একটি ব্যাকস্ল্যাশ রাখুন উদাহরণ: ডেটা: টেক্সট / প্লেইন; বেস 64, ডিজিভিজেডডজিআইএমজেভিবি 1 wKICBiYXIiCg ==
টোবিয়া ২

41
বিপরীতে @wvxvw, আমি মনে করি যে YAML অনেকগুলি সাধারণ ব্যবহারের ক্ষেত্রে (যেমন, কনফিগারেশন ফাইল) সবচেয়ে খারাপ ফর্ম্যাট, কারণ না বেশিরভাগ লোকেরা তার আপাত সরলতার দ্বারা আঁকেন কেবল পরে বোঝা যায় যে এটি একটি অত্যন্ত জটিল বিন্যাস। YAML ভুল জিনিসকে সঠিক দেখায় - উদাহরণস্বরূপ, :স্ট্রিং অ্যারেতে একটি স্ট্রিংয়ের মধ্যে একটি নির্দোষ কোলন YAML এটিকে বস্তুর অ্যারে হিসাবে ব্যাখ্যা করে। এটি অন্তত বিস্ময়ের নীতি লঙ্ঘন করে ।
ভিকি চিজওয়ানি

19
কেউ এই বিষয় সম্পর্কে একটি ওয়েবসাইট করেছেন: yaml-multline.info @ স্টিভবেনেট ㄹ আপনি সচেতন না হলে এই পৃষ্ঠার পাদচরণটি পরীক্ষা করুন।
উদোনডান

37
তবুও আরেকটি মাল্টি লাইন স্ট্রিং সিনট্যাক্স
xdmoore

186

নিউলাইন ব্যবহার সংরক্ষণ করুন |, উদাহরণস্বরূপ:

|
  This is a very long sentence
  that spans several lines in the YAML
  but which will be rendered as a string
  with newlines preserved.

থেকে অনুবাদ করা হয় "এই একটি খুব দীর্ঘ বাক্য \ N যে YAML মধ্যে ধারন কয়েক লাইন \ N কিন্তু যা একটি স্ট্রিং হিসাবে রেন্ডার হবে \ N সংরক্ষিত নতুন লাইন সঙ্গে। \ N "


এটি আমার জন্য দুটি লাইনের সাথে কাজ করে তবে তিনটি নয়?
cboettig

ধন্যবাদ, আপনি যেমন বলেছেন ঠিক তেমন কাজ করে। পান্ডোকের ইয়ামাল শিরোনামগুলির কোনও কারণে আমাকে |প্রতিটি লাইনে পুনরাবৃত্তি করতে হবে, যে কারণে আমার কাছে সুস্পষ্ট নয়: গ্রুপ. google.com/forum/#!topic/pandoc-discuss/xuqEmhWgf9A
cboettig

1
এই উদাহরণটি রেল 4 এ নতুন লাইনে রূপান্তর করে না!
রুবায়াস্টিক

যদি আমি লিখি তবে এটি কোনও সমস্যা নয়: - ফিল্ড 1: | এক দুই - ক্ষেত্র 1: | তিনজনের জন্য 'আমি পেয়েছি: এক \ ntw \ n এবং তিন \ n এর জন্য? আমি সেখানে না থাকার জন্য after n এর পরে দিকটি করব ...
Alain1405

একাধিক লাইন ব্যবহার করার সময় catসঙ্গে বিভেদক এই নেতৃস্থানীয় স্পেস (যা YAML জন্য প্রয়োজনীয়) ঘটায় আউটপুট যুক্ত করার জন্য।
কার্ল রিখটার

109

১. ব্লক নোটেশন (প্লেইন, ফ্লো স্টাইল, স্কেলার): ব্লকটি সরানোর পরে নিউলাইনগুলি স্পেস এবং অতিরিক্ত নিউলাইনগুলি হয়ে যায়

---
# Note: It has 1 new line after the string
content:
    Arbitrary free text
    over multiple lines stopping
    after indentation changes...

...

সমান জেএসএন

{
 "content": "Arbitrary free text over multiple lines stopping after indentation changes..."
}

২. লিটারাল ব্লক স্কেলার: একটি লিটারাল ব্লক স্কেলার | নিউলাইনগুলি এবং কোনও পিছনে স্থান অন্তর্ভুক্ত করবে। তবে অতিরিক্ত সরিয়ে দেয়

ব্লক পরে newlines।

---
# After string we have 2 spaces and 2 new lines
content1: |
 Arbitrary free text
 over "multiple lines" stopping
 after indentation changes...  


...

সমান জেএসএন

{
 "content1": "Arbitrary free text\nover \"multiple lines\" stopping\nafter indentation changes...  \n"
}

৩. + আক্ষরিক ব্লক স্কেলারের সাথে সূচক: ব্লকের পরে অতিরিক্ত নতুন লাইন রাখুন

---
# After string we have 2 new lines
plain: |+
 This unquoted scalar
 spans many lines.


...

সমান জেএসএন

{
 "plain": "This unquoted scalar\nspans many lines.\n\n\n"
}

4. - আক্ষরিক ব্লক স্কেলারের সাথে সূচক: - এর অর্থ স্ট্রিংয়ের শেষে থাকা নিউলাইনটি সরিয়ে ফেলা হয়েছে।

---
# After string we have 2 new lines
plain: |-
 This unquoted scalar
 spans many lines.


...

সমান জেএসএন

{
 "plain": "This unquoted scalar\nspans many lines."
}

5. ভাঁজ করা ব্লক স্কেলার (>):

স্পেসে নতুনলাইনগুলি ভাঁজ করবে এবং ব্লকের পরে অতিরিক্ত নতুন লাইনগুলি সরিয়ে ফেলবে।

---
folded_newlines: >
 this is really a
 single line of text
 despite appearances


...

সমান জেএসএন

{
 "fold_newlines": "this is really a single line of text despite appearances\n"
}

আরও জন্য আপনি আমার ব্লগ দেখতে পারেন


আপনি কি কর্নেল পরে "| -" ব্যবহার করার জন্য উদাহরণস্বরূপ # 4 ব্যবহার করেছেন? এছাড়াও, আপনি এখানে "---" নির্দেশাবলী শেষ চিহ্নগুলি হারাতে পারেন, কারণ আপনি কেবল একটি নথি দেখিয়ে যাচ্ছেন। দস্তাবেজের শেষ চিহ্নিতকারীগুলি দস্তাবেজগুলিতে চলমান সাদা স্থানটি হাইলাইট করতে সহায়ক। তা ছাড়াও যদিও স্পষ্ট নথির দরকার নেই।
সেহ

নির্দেশ করার জন্য ধন্যবাদ এটি একটি টাইপ ছিল। এ তা স্থির করেছেন। আমি শুরু এবং শেষের মার্কার সরবরাহ করেছি যাতে প্রত্যেকে স্ট্রিংয়ের পরে নতুন লাইন দেখতে পাবে।
আরণ সিং

এনআইআর 1 ওয়াইএএমএল স্পেসিফিকেশনে একটি সমতল, ফ্লো স্টাইল, স্কেলার হিসাবে বর্ণনা করা হয়েছে। এটিকে ব্লক-স্টাইল বলা বিভ্রান্তিকর।
অ্যান্থন

প্লেন, ফ্লো স্টাইল, স্কেলার হিসাবে Nr.1 ​​পরিবর্তন করে।
অ্যারায়ণ সিং

42

আপনি এটি বিশ্বাস করতে পারেন না, তবে YAML মাল্টি-লাইন কীগুলিও করতে পারে:

?
 >
 multi
 line
 key
:
  value

3
ব্যাখ্যা প্রয়োজন ("কী?")।
ilyaigpetrov

@ ইলাইগপেট্রভ ঠিক লিখিত হিসাবে, "মাল্টি-লাইন" কী। সাধারণত আপনি এই জাতীয় জিনিসগুলি করেন key:valueতবে আপনার কীতে যদি নতুন লাইন থাকে তবে আপনি উপরে বর্ণিত হিসাবে এটি করতে পারেন
goFrendiAsgard

4
এর জন্য বাস্তব-বিশ্বের ব্যবহারের কোনও উদাহরণ?
রিচার্ড-দেগেন

1
@ ইলাইগপেট্রভ ?হ'ল মূল সূচক (ম্যাপিংয়ের মূল কী)। অনেক পরিস্থিতিতে আপনি কী সূচকটি ছেড়ে দিতে পারেন, যখন কী ( :পরে ) মান সূচকটি কীটির পরে বিশ্লেষণকে অস্বচ্ছ করে তোলে। তবে এটি নয়, আপনাকে কীটি স্পষ্টভাবে চিহ্নিত করতে ব্যবহার করতে হবে।
অ্যান্থন

42

হোয়াইটস্পেস ছাড়াই লম্বা রেখাগুলি যুক্ত করার জন্য , ডাবল কোট ব্যবহার করুন এবং ব্যাকস্ল্যাশ সহ নিউলাইনগুলি এড়িয়ে চলুন:

key: "Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemp\
  orincididuntutlaboreetdoloremagnaaliqua."

(ধন্যবাদ @ টোবিয়া)


ধন্যবাদ, এটি আমাকে একাধিক লাইনে ডকার ভলিউম সংজ্ঞায়িত করতে সত্যই সহায়তা করেছে! কারও যদি একই সমস্যা হয়, তবে অনলাইনে ওয়াইএএমএল পার্সারের বিষয়ে আমার সমাধানটি এখানে রয়েছে
মাইক মিটারার

আহ অবশেষে। আমি একাধিক লাইনে পুতুলের হিরা ইয়ামল ফাইলগুলিতে দীর্ঘ এসএস-কীগুলি মোড়ানোর চেষ্টা করছিলাম তবে আমি আপনার উত্তরটি ব্যবহার না করা অবধি সর্বদা অযাচিত স্থান পেয়েছি। ধন্যবাদ।
মার্টিজন হিমেলস

18

আপনি যদি সিমফোনির অনুবাদগুলির জন্য YAML এবং টুইগ ব্যবহার করছেন এবং জাভাস্ক্রিপ্টে বহু-লাইন অনুবাদ ব্যবহার করতে চান তবে অনুবাদের ঠিক পরে একটি ক্যারেজ রিটার্ন যুক্ত হয়। এমনকি নিম্নলিখিত কোড:

var javascriptVariable = "{{- 'key'|trans -}}";

যার নিম্নলিখিত yML অনুবাদ রয়েছে:

key: >
    This is a
    multi line 
    translation.

এখনও নিম্নলিখিত কোডটিতে এইচটিএমএলে ফলাফল হবে:

var javascriptVariable = "This is a multi line translation.
";

সুতরাং, টুইগের বিয়োগ চিহ্নটি এর সমাধান করে না। সমাধানটি হ'ল YML- এ সাইন ইন করার চেয়ে বড় হওয়ার পরে এই বিয়োগ চিহ্নটি যুক্ত করা হবে:

key: >-
    This is a
    multi line 
    translation.

টুইগের এক লাইনে সঠিক ফলাফল, মাল্টি লাইন অনুবাদ থাকবে:

var javascriptVariable = "This is a multi line translation.";

এটি একটি বাগের মতো দেখাচ্ছে। আপনার কি কোনও বাগ রিপোর্ট দেওয়ার সুযোগ ছিল?
dreftymac

8

পরিস্থিতিগুলির জন্য স্ট্রিংটিতে স্পেস থাকতে পারে বা না থাকায় আমি ডাবল কোট এবং ব্যাকস্ল্যাশগুলির সাথে লাইনের ধারাবাহিকতা পছন্দ করি:

key: "String \
  with long c\
  ontent"

তবে এই ঘটনার জন্য যে সমস্যাটি রয়েছে তা লক্ষ করুন যে কোনও ধারাবাহিকতা একটি স্থান দিয়ে শুরু হয়, এটি থেকে পালাতে হবে (কারণ এটি অন্যত্র সরিয়ে নেওয়া হবে):

key: "String\
  \ with lon\
  g content"

যদি স্ট্রিংটিতে লাইন বিরতি থাকে তবে এটি সি স্টাইলে লেখা দরকার \n

আরও দেখুন এই প্রশ্নের


যদি এটি অন্যত্র সরিয়ে ফেলে রাখা হয় , যেমন position অবস্থানে নয়, আপনি কোথায় উত্তর সরিয়ে ফেলবেন সে সম্পর্কে তথ্য দিয়ে নিজের উত্তরটি আপডেট করতে পারেন । দয়া করে কোন পার্সার লিখুন (কোন ভাষার জন্য) তা করে? আমি শুধু দেখেছি পারজার যেমন নেতৃস্থানীয় স্ট্রিপ / একাধিক লাইন কোট স্ট্রিং মধ্যে শূণ্যস্থান trailing জায়গায়
অ্যান্থন

0

উপরের সমাধানগুলির কোনওটিই আমার পক্ষে জেকিল প্রকল্পের একটি ওয়াইএএমএল ফাইলে কাজ করে নি। অনেকগুলি বিকল্প চেষ্টা করার পরে, আমি বুঝতে পেরেছিলাম যে একটি এইচটিএমএল ইনজেকশনটিও <br>সম্ভবত এটি করতে পারে, কারণ শেষ পর্যন্ত সবকিছু HTML এ রেন্ডার করা হয়েছে:

নাম: | লা মঞ্চের একটি গ্রামে <br>যার নাম আমি মনে করতে <br>চাই না ।

কমপক্ষে এটি আমার পক্ষে কাজ করে। এই পদ্ধতির সাথে সম্পর্কিত সমস্যাগুলি সম্পর্কে কোনও ধারণা নেই।


2
আপনার সমাধানটি একটি ভিন্ন সমস্যাকে বোঝায়: আপনার ক্ষেত্রে আপনি YAML প্রক্রিয়াকরণের ফলস্বরূপ রেন্ডার এইচটিএমএলটিতে লাইনব্রেকগুলি প্রদর্শিত হওয়া চান। এইচটিএমএল এবং ওয়াইএএমএলের একে অপরের সাথে অন্তর্নিহিত সম্পর্ক নেই। এমনকি যদি YAML নিয়মিত লাইনব্রেকগুলি পাস করে তবে এইচটিএমএল এগুলি উপেক্ষা করে। অবশেষে অপটির প্রশ্নটি খুব দীর্ঘ লাইনগুলি প্রতিরোধ করার জন্য নিজেই ওয়াইএএমএলে লাইনব্রেকগুলি ব্যবহারের সাথে সম্পর্কিত। এটি কীভাবে শেষ পর্যন্ত ডেটা রেন্ডার হতে পারে সে বিষয়ে চিন্তা করে না। কেন এটা বলছেন? কারণ এটি ব্যাখ্যা করে যে এখানে প্রদত্ত অন্যান্য সমস্ত সমাধান আপনার ক্ষেত্রে কার্যকর হয় না।
টমাস আরবান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.