YAML মাল্টি-লাইন অ্যারে


140

ইন YAML , আপনি সহজেই তৈরি করতে পারেন বহু-লাইন স্ট্রিং । তবে, আমি |অক্ষরটি ব্যবহার করে একটি মাল্টি-লাইন অ্যারে (মূলত কনফিগার ফাইলগুলির মধ্যে পঠনযোগ্যতার জন্য) তৈরি করার দক্ষতাটি চাই ।

একজন YAML অ্যারে হিসাবে প্রতিনিধিত্ব করা যেতে পারে: ['key1', 'key2', 'key3']

একটি YAML ক্রম একটি স্থান এবং তারপরে একটি স্ট্রিংয়ের পরে একটি ড্যাশ ব্যবহার করে:

- String1
- String2
- String3

এই মূল্যায়ন হবে: ['string1', 'string2', 'string3']

একটি ওয়াইএএমএল ম্যাপিং হ'ল কী এবং মান জোড়াগুলির একটি অ্যারে যা আমরা ওয়্যামের সমস্ত সময় দেখি:

Key1: string1
Key2: string2
Key3: string3

এটি সমস্ত ভাল এবং ভাল, তবে আমি কীভাবে মাল্টি-লাইন অ্যারে করতে পারি তা আমার জীবনের পক্ষে দেখতে পাচ্ছি না। এটার মতো কিছু:

|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']

ওয়াইএএমএলে একাধিক অ্যারে ম্যাপিং তৈরি করা এবং সেগুলি আমার পছন্দসই প্রোগ্রামিংয়ের ভাষায় মার্জ করার শর্ট, মাল্টি-লাইন অ্যারেগুলি অর্জন করার কোনও উপায় আছে, সম্ভবত { }পাইথনের মতো ওয়াইএএমএলে রয়েছে কি না?


সত্যই, একটি বহু-লাইন অ্যারে কি এবং এটি কখনই অর্থবহ হওয়া উচিত? কেবল আপনার
কোডটির চেহারাগুলির

সমস্ত বিকল্প একবারে একবারে দেখুন না করে সমস্ত বিকল্প দেখতে আনুভূমিকভাবে স্ক্রীন জুড়ে স্ক্রোল করা।
জিম্বো

উত্তর:


240

একজন YAML ক্রম হয় একটি অ্যারের । সুতরাং এটি প্রকাশ করার সঠিক উপায়:

key:
  - string1
  - string2      
  - string3
  - string4
  - string5
  - string6

এর অর্থ অনুসারে এটি অভিন্ন:

key: ['string1', 'string2', 'string3', 'string4', 'string5', 'string6']

একক লাইন অ্যারে বিভিন্ন লাইনে বিভক্ত করাও আইনী:

key: ['string1', 'string2', 'string3', 
  'string4', 'string5', 
  'string6']

এমনকি একক-লাইন অ্যারেতে বহু-লাইন স্ট্রিং রয়েছে:

key: ['string1', 'long
  string', 'string3', 'string4', 'string5', 'string6']

1
যদি স্ট্রিংগুলি একটি দিয়ে শুরু হয় তবে এটি কোনও সমস্যা (উদাহরণস্বরূপ কমান্ড লাইনে দেওয়া বিকল্পগুলি)? আমি কি তাহলে উদ্ধৃতি দিতে হবে? `-" -মায়ার্গ "`?
এক্কিস

2
আপনি সম্পূর্ণরূপে ওয়াইএএমএল পার্স করতে যা যা প্রোগ্রাম ব্যবহার করছেন তার উপর এটি নির্ভর করে। এই প্রশ্নটি কেবল ওয়াইএএমএল স্পেসিফিকেশন সম্পর্কে।
স্টিভ বেনেট

39

তুমি কি এটা চেষ্টা করেছ?

-
  name: Jack
  age: 32
-
  name: Claudia
  age: 25

আমি [{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]এটি পেয়েছি : (আমি YAMLরুবি ক্লাস ব্যবহার করি )।


6

নিম্নলিখিত কাজ করবে:

myarray: [
  String1, String2, String3,
  String4, String5, String5, String7
]

আমি স্নাপামল বাস্তবায়ন ব্যবহার করে এটি পরীক্ষা করেছি, যদিও আমি অন্যান্য বাস্তবায়ন সম্পর্কে নিশ্চিত নই।


2
এটি পুতুল এন্টারপ্রাইজ 3.7 হিরা ইয়ামল (রুবি ইয়ামল) এর সাথে কাজ করেছে, আমি রুবি ইয়ামলটি দেখতে পেলাম এটি খুব স্পর্শকাতর একটি পরিচয় এবং এটি ট্যাব ব্যবহার করা এড়ানো উচিত। সুতরাং উপরের উদাহরণটি দুটি লাইনের মতো হওয়া উচিত যেখানে প্রথম লাইন myarray: [String1, String2, String3,এবং দ্বিতীয় লাইন হ'ল s স্ট্রিং 4, স্ট্রিং 5, স্ট্রিং 5, স্ট্রিং 7] Wal
ওয়ালিদ

2

অ্যারের উপাদানগুলির মানগুলি যখন ছোট হয় তখন আমার জন্য পঠনযোগ্যতা দৃষ্টিকোণ থেকে এটির জন্য ভাল কাজ করা হয়:

key: [string1, string2, string3, string4, string5, string6]

দ্রষ্টব্য: স্নায়ামেল বাস্তবায়ন ব্যবহৃত হয়েছে


0

আপনার যা প্রয়োজন তা যদি অ্যারের অ্যারে হয় তবে আপনি এইভাবে করতে পারেন:

key:
  - [ 'value11', 'value12', 'value13' ]
  - [ 'value21', 'value22', 'value23' ]

ধন্যবাদ ভিনিসিয়াস, তবে প্রশ্নটি স্পষ্ট করে বলেছে: ".আমি একাধিক অ্যারে একাধিক লাইন নয়, একটি বহু-লাইন অ্যারে তৈরি করার দক্ষতা চাই।"
জিম্বো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.