আমি এটি গভীরভাবে অদ্ভুত বলে মনে করি যে এটি রুবিতে সম্ভব (আমি তাৎক্ষণিকভাবে কীভাবে বলব না):
obj = #code redacted
print obj.state # Some value.
LValue = obj
print obj.state # Different value!
আপনার চ্যালেঞ্জটি এই ফর্মের মোটামুটি কোড তৈরি করা। একটি অবজেক্ট তৈরি করুন এবং এটি একটি ভেরিয়েবলকে বরাদ্দ করুন। এটির মতো state
উপরের মতো কিছু সংজ্ঞায়িত বৈশিষ্ট্য (বা ডিটারমিনিস্টিক, আইডেম্পোটেন্ট পদ্ধতি) থাকা উচিত , যা বস্তুটি নতুন সনাক্তকারীকে ( LValue
উপরে) নির্ধারিত হওয়ার পরে পরিবর্তিত হয় , এমনকি যদি আপনি এখনও এটি চিহ্নিত করতে পুরানো শনাক্তকারী ( obj
উপরে) ব্যবহার করেন ।
জোরের জন্য সম্পাদনা করুন : state
বা সমতুল্যটি আদর্শবান হতে হবে, সুতরাং মানটি সংশোধনকারী এমন একটি অ্যাকসেসর তৈরি করা বা অন্য কোনও কারণে পরপর বেশ কয়েকবার ডেকে ডেকে বিভিন্ন ফলাফল প্রদান করা বৈধ সমাধান নয়। অথবা, আরও সহজভাবে বললে, এ্যাসাইনটি হতে হবে যা রাষ্ট্রকে পরিবর্তন করে।
অ্যাসাইনমেন্ট সহ যে কোনও ভাষা উপযুক্ত, যদিও এমন কিছু রয়েছে যেখানে সম্পূর্ণ বৈধ সমাধান নেই। কিছু দিন পরে অন্য কেউ না পেলে আমি আমার রুবি উত্তর পোস্ট করব এবং রোলিংয়ের ভিত্তিতে সর্বাধিক-ভোট প্রাপ্ত উত্তরগুলি গ্রহণ করব।
(setq a (list "val")) (setq b (nconc a "val2"))
উদাহরণস্বরূপ। যে বিন্দু a
হিসাবে মূল্যায়ন শেষ ("val" . "val2")
।
LValue = obj
লাইন জন্য প্রয়োজন হতেstate
আসলে পরিবর্তন? (আমি কেবলমাত্র সি # তে একটি সম্পত্তি তৈরি করতে পারলাম যা আপনি যতবার পাবেন প্রতিবার