উত্তর:
এটা ব্যবহার কর:
def map = [(A):1, (X):2]
মান অংশের জন্য এটি আরও সহজ, যেহেতু কোনও স্বয়ংচালিত "পাঠ্যকে স্ট্রিংয়ে রূপান্তর করা" হচ্ছে না:
def map = [keyA:A, keyX:X]
Map keys are strings by default: [a:1] is equivalent to ['a':1]. This can be confusing if you define a variable named a and that you want the value of to be the key in your map. If this is the case, then you must escape >the key by adding parenthesis..
[(A):1, (X):2]
, ভেরিয়েবলটি একটি স্ট্রিংয়ে পালানো হচ্ছে। সহ ["$A":1, (X):2]
, এটি "$A"
হ'ল একটি বিভক্ত স্ট্রিং যার ফলস্বরূপ একটি জিস্ট্রিং হয়। মানচিত্রগুলি প্রত্যাশা করে যে কীগুলি স্থাবর হতে পারে যা কোনও জি স্ট্রিং সরবরাহ করে না।
জোয়াকিমের উত্তরের আরও আপনি যদি কোনও বিদ্যমান মানচিত্রে এন্ট্রি যুক্ত করতে চান এবং কীগুলি ভেরিয়েবল হয় তবে ব্যবহার করুন:
def map = [:]
def A = 'abc'
map[A] = 2
আপনি যদি ব্যবহার করেন:
map.A = 2
ধারণা করা হয় যে আপনি আক্ষরিক স্ট্রিং 'এ' কে কী হিসাবে ব্যবহার করতে চান (যদিও স্কোপে A নামে একটি ভেরিয়েবল রয়েছে।
@ অটি_ইয়েটস যেমন একটি মন্তব্যে উল্লেখ করেছেন, আপনি যদি ব্যবহার করেন তবে একটি মূল পরিবর্তনশীলও সমাধান করা হবে:
map."$A" = 2
যদিও ব্যক্তিগতভাবে আমি [A]
সিনট্যাক্সটি ব্যবহার করতে পছন্দ করি কারণ চলকটির "$A"
নাম পরিবর্তন করা গেলে রিফ্যাক্টরিং সরঞ্জামগুলি রেফারেন্সটি মিস করতে পারে
map."$A"
সিনট্যাক্স আপনার সাথে নাল নিরাপদ মানচিত্র ন্যাভিগেশন সুবিধার দেয় map?."$A"
, যা আমি যতদূর জানি আপনি ব্যবহার অর্জন করতে পারে না map[A]
সিনট্যাক্স
To use the value of a String as the key value of a map, simply surround the variable with parenthesis.