হ্যাশ রকেট হ্রাস করা হয়?


99

সুপ্রতিষ্ঠিত আরআইপি হ্যাশ রকেট পোস্টটি মনে হচ্ছে হ্যাশ রকেট সিনট্যাক্স ( :foo => "bar") কে নতুন-থেকে-রুবি জেএসএন-স্টাইলের হ্যাশ ( foo: "bar") এর পক্ষে প্রত্যাখ্যান করা হয়েছে , তবে আমি হ্যাশ রকেট ফর্মের উল্লেখ করে কোনও নির্দিষ্ট রেফারেন্স পাই না can't প্রকৃতপক্ষে রুবি ১.৯ হিসাবে অবচয় / অচিন্তিত


আমি মনে করি guy লোকটি কেবল রুবেলকে রেল ব্যবহার করে।
নিক্লাস বি।

রকেটটি দীর্ঘজীবী করুন
হ্যাশরোকটসাইন্ট্যাক্স

রকেট এখনও শক্তিশালী চলছে ma
মাহেমফ

উত্তর:


132

ব্লগ পোস্টটির লেখক অতিরিক্ত নাটকীয় এবং বোকামি =>হচ্ছেন , এটি এখনও বেশ প্রয়োজনীয় । নির্দিষ্টভাবে:

  1. আপনাকে অবশ্যই প্রতীকগুলির জন্য রকেট ব্যবহার করতে হবে যা বৈধ লেবেল নয়: :$set => xবৈধ তবে $set: xতা নয়। রুবি ২.২+ এ আপনি উদ্ধৃতি সহ এই সমস্যাটি পেতে পারেন: '$set': xরাইট থিং করবেন do

  2. আপনার হ্যাশগুলিতে এমন কীগুলি ব্যবহার করুন যা স্ট্রিংস, পূর্ণসংখ্যা বা ধ্রুবকগুলির মতো চিহ্ন নয় You উদাহরণস্বরূপ, 's' => xবৈধ কিন্তু 's': xসম্পূর্ণ আলাদা কিছু।

আপনি অবশ্যই উপরের পদ্ধতিতে ক্ল্যাজ করতে পারেন স্পষ্টভাবে:

h = { }
h[:'where.is'] = 'pancakes house?'
# etc.

তবে এটি কেবল কুরুচিপূর্ণ এবং অপ্রয়োজনীয়।

রবিকে হ্যাশগুলি পঙ্গু করা ছাড়া কোথাও যাচ্ছে না।


6
s / অতিরিক্ত নাটকীয় এবং বোকামি / নাটকীয় এবং একটি স্পষ্ট শ্রদ্ধা সহ পরামর্শদাতা /। আপনার বাকি পয়েন্ট দাঁড়িয়ে।
dbenhur

17
আপনার যদি নতুন সিনট্যাক্স ব্যবহার করে, তখনও যখন আপনাকে কিছু নির্দিষ্ট পরিস্থিতির জন্য পুরানো বাক্য গঠনের উপর নির্ভর করতে হয়, কেবল আমাদের কোডটিকে জটিল করে তুলবে কিনা তা ভাবতে হবে।
ডেভ রপিন

4
@ ডেভাপাপিন: সে কারণেই আমি নন-রকেট সিনট্যাক্স নিয়ে বিরক্ত করি না। আমি মঙ্গোডিবি-র কাজটি বেশ ন্যায্য করি এবং আমি প্রায়শই হ্যাশ কী হিসাবে নন-প্রতীক ব্যবহার করি ( h[:s]আমার সমস্ত কিছুই মনে হয় না) তাই জাভাস্ক্রিপ্ট স্টাইলের বাক্য গঠন আমার কাছে কেবল অর্থহীন জটিলতা। আমার কাছে মনে হয় দুর্বল চিন্তাভাবনা করা জিৎ-হুইজ আইডিয়া এবং এখন আমরা এটি এবং সম্পর্কিত বিভ্রান্তির সাথে চিরদিনের জন্য আটকে আছি।
মিউ খুব সংক্ষিপ্ত

8
@ ডেভরাপিন a = [0,1,4,9]বনাম বিবেচনা করুন a = Array.new(4){ |i| i**2 }। আপনি যখন মাঝে মাঝে দ্বিতীয়টি ব্যবহার করতে চান তখন কেন আগেরটি ব্যবহার করবেন? উত্তর: কারণ এটি আরও সুবিধাজনক। TIMTOWTDI ভাষা জটিল করে তোলে, তবে এটি একটি ট্রেড অফ। লুয়া মূলত সত্যই মার্জিত এবং তাই শিখতে সহজ, তবে প্রকৃতপক্ষে কোড করাতে বিরক্তিকর। রুবির অনেকগুলি বিশেষ মামলা এবং কাস্টম বৈশিষ্ট্য রয়েছে যা শিখতে আরও শক্ত করে তোলে তবে প্রোগ্রামে আনন্দ করি I সাধারণ ক্ষেত্রে প্রকারের জন্য সহজ-থেকে-সহজ, পড়ার জন্য সহজে-প্রতীক-কীগুলির স্বরলিপি not
ফ্রোগজ 31'12

7
টাইপ করতে কম মজা করার সময় আমি অবশ্যই হ্যাশ রকেটটি পছন্দ করি। কেন? কারণ এর অর্থ হ'ল যে কোনও সময় আমি কোনও কীটির জন্য একটি প্রতীক ব্যবহার করি আমি কোনও কোলন দিয়ে শুরু হওয়া স্ট্রিংটি অনুসন্ধান করে আমার প্রকল্পের যে কোনও জায়গায় এটি অনুসন্ধান করতে পারি। আমার কাছে, কীটি বোঝাতে ব্যবহৃত প্রকৃত অক্ষরগুলির মধ্যে সামঞ্জস্যতার অভাব my_hash = {a:1}এবং myhash[:a] = 1কমপক্ষে বরং বিরক্তিকর। আমি নিশ্চিত যে আমি একমাত্র নই যিনি এইভাবে অনুভব করেন।
হুলিয়াক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.