সবাই যেমন উল্লেখ করেছে, এটি একটি "স্প্ল্যাট"। রুবি সিনট্যাক্স সন্ধান করা অসম্ভব এবং আমি অন্যান্য প্রশ্নে এটি জিজ্ঞাসা করেছি। প্রশ্নের সেই অংশটির উত্তর হ'ল আপনি অনুসন্ধান করছেন
asterisk in ruby syntax
গুগলে গুগল আপনার জন্য রয়েছে, আপনি যা দেখছেন তা কথায় যুক্ত করুন।
যাইহোক, অনেক রুবি কোডের মতো, কোডটি বেশ ঘন। দ্য
line.split(/=|;/)
SIX উপাদানগুলির একটি অ্যারে তৈরি করে first_name, mickey, last_name, mouse, country, usa
। তারপরে স্প্ল্যাটটিকে হ্যাশে পরিণত করতে ব্যবহৃত হয়। এখন রুবি লোকেরা আপনাকে সর্বদা স্প্ল্যাট পদ্ধতিটি দেখতে পাঠায়, যেহেতু রুবির মধ্যে সমস্ত কিছুই উন্মুক্ত। এটি কোথায় আছে তা সম্পর্কে আমার কোনও ধারণা নেই তবে আপনি একবার এটি পেয়ে গেলে আপনি দেখতে পাবেন যে এটি for
অ্যারের মাধ্যমে একটি চালায় এবং হ্যাশ তৈরি করে।
আপনি মূল ডকুমেন্টেশনে কোডটি সন্ধান করবেন । যদি আপনি এটি খুঁজে না পান (আমি পারিনি), আপনি এই জাতীয় কিছু কোড লেখার চেষ্টা করবেন (যা কাজ করে তবে রুবির মতো কোড নয়):
line = "first_name=mickey;last_name=mouse;country=usa"
presplat = line.split(/=|;/)
splat = Hash.new
for i in (0..presplat.length-1)
splat[presplat[i]] = presplat[i+1] if i%2==0
end
puts splat["first_name"]
এবং তারপরে রুবি গ্যাং আপনাকে বলতে সক্ষম হবে যে আপনার কোডটি কেন বোকা, খারাপ, বা কেবল সাধারণ ভুল।
আপনি যদি এ পর্যন্ত পড়ে থাকেন তবে শুরু করার জন্য হ্যাশ ডকুমেন্টেশনের মাধ্যমে একটি পঠন করুন ।
মূলত একটি হ্যাশ যা বেশ কয়েকটি আর্গুমেন্টের সাহায্যে আরম্ভ করা হয় সেগুলি তাদের মূল মান জোড়া হিসাবে তৈরি করে:
Hash["a", 100, "b", 200] #=> {"a"=>100, "b"=>200}
সুতরাং আপনার উদাহরণে এটি নিম্নলিখিত হ্যাশ দিকে পরিচালিত করবে:
{"first_name"=>"mickey", "last_name"=>"mouse", "county"=>"usa"}
a,b,*c = d,e,f,*g
a = d, b = e, এবং c = [f, g0, g1, g2, ..., gn] সেট করে, যেখানে g = [g0, g1, g2, ..., gn]