এ সম্পর্কে কী ঘটেছিল rebless
এবং কী করা উচিত সে সম্পর্কে সুনির্দিষ্টভাবে অনুমোদনমূলক আলোচনার জন্য জ্যান্থনের উত্তর দেখুন ।
এটি কাজ করেছিল ... এখন এটি হয় না .. ত্রুটি বার্তার কোনও অর্থ নেই ... উত্তরাধিকার সূত্রে প্রাপ্ত শ্রেণীর সাথে কাজ করার কথা ... কমপক্ষে এটি ছিল ... ডকুমেন্টেশন সহায়ক নয়
এই (আল্ট্রা দীর্ঘ!) উত্তর নীতি ও চর্চা আরও আলোচনায় আগ্রহী তাদের জন্য একটি পঠিত মূল্য হতে পারে TDD- এ যে ভিত্তি Raku প্রোগ্রামিং ভাষা এবং এই ধরনের Rakudo কম্পাইলার এবং সংশ্লিষ্ট নিদর্শন কাজ পদ্ধতির docs.raku.org বিষয়বস্তু ।
এই উত্তরটি আরনের মূল প্রশ্নের নির্দিষ্ট অংশগুলির নির্দিষ্ট প্রতিক্রিয়া এবং এই উত্তরের পূর্ববর্তী সংস্করণটির জবাবে তারা যে মন্তব্যে লিখেছিল সেগুলি হিসাবে কাঠামোযুক্ত। আমার উদ্দেশ্য ছিল আরনের পক্ষে এটি আরও কার্যকর করা, আশা করি, এখনও অন্যের পক্ষে দরকারী।
আর্ন: এই থ্রেডে প্রদত্ত কোডটি আর কাজ করে না: আমি কীভাবে রাকুতে কোনও বস্তুকে পুনরায় চালাতে পারি?
আমি এই এসও এর সাথে লিঙ্ক করতে সেই এসওর কাছে গৃহীত উত্তরটি আপডেট করেছি।
আর্ন: আমি কোডটি এই টুকরোটি গত বছর লিখেছিলাম এবং এটি তখন কার্যকর হয়েছিল। এখন তা হয় না
প্রসঙ্গত পরিবর্তনটি এপ্রিল 2019 এর একটি প্রতিশ্রুতিতে আলোচিত হয়েছিল যেখানে জন্ঠন লিখেছিল:
সম্প্রতি, rebless
অপারেশনের টার্গেটযুক্ত প্রকারগুলি অপ্টিমাইজেশনে সহায়তা করার জন্য, মিশ্রিন টার্গেট ধরণের হিসাবে স্পষ্টভাবে তৈরি করা দরকার। ...
ইন একটি মন্তব্য 11 দিন আগে বন্ধ rakudo জি এইচ বিষয় "Rebless আর কাজ মনে হয় একটি কাস্টম টাইপ" তিনি লিখেছিলেন:
আপনার is_mixin
নামযুক্ত যুক্তিটি পাস করার ব্যবস্থা করতে হবে ClassHOW.new_type
... ক্লাস সিনট্যাক্সের সাথে এটি করার কোনও উপায় নেই, সুতরাং এমবপি ব্যবহার করে রেবেলসের টার্গেট ধরণের একত্রিত করতে হবে।
(এটির পরামর্শ অনুযায়ী কীভাবে করা যায় তার নোটের জন্য উপরের লিঙ্কটিতে ক্লিক করুন।)
এটি কাজ করার ক্ষেত্রেও এই সমস্যাটি আরও খানিকটা আলোচনা করা হয়েছে ... এটি হঠাৎ হয়নি ... ডকুমেন্টেশন ... নীচে কল বিভাগটি নথিভুক্ত করা উচিত ।
অ্যান: উত্তরাধিকার সূত্রে প্রাপ্ত ক্লাসগুলির সাথে কাজ করার কথা রয়েছে। কমপক্ষে ছিল।
রোস্ট - r এপোসিটোরি o f a ll s pec t ests - রাকু কোডটি করণীয় তা নির্ধারণ করে। ( ম এর Roa St যেমন পড়া যায় গুলি upposed টি ণ গুলি।)
ইন আরেকটি এপ্রিল 2019 বার্তা jnthn লিখেছিলেন:
এর জন্য আগের কোনও অনুমান ছিল না Metamodel::Primitives.rebless
। আমি এই স্পেসেস্ট যুক্ত করেছি যাতে এখন আছে। এর অর্থ এখন কী কাজ করা উচিত বলে আশা করা যায় তার কিছু সংজ্ঞা রয়েছে।
রাকুডোর আচরণ একটি নির্বাহযোগ্য পরীক্ষার স্যুট দ্বারা অনুমিত হয় যে রাকু নির্ভরযোগ্যভাবে আচরণ করে তা নিশ্চিত করার জন্য @ ল্যারি'র পদ্ধতির একটি মৌলিক অংশ [1] এবং এর গভীর প্রভাব রয়েছে [২] ।
ব্যাপকভাবে ব্যবহৃত মডিউলটিতে এই পরিবর্তনের প্রভাব
জনপ্রিয় ইনলাইন :: পার্ল 5 মডিউলটির জন্য এই পরিবর্তনের প্রভাবের স্ন্যাপশটটি এখানে রয়েছে।
এপ্রিল 2019 এ, নাইনার তার উপর প্রভাবগুলির উপর একটি রকুডো জিএইচ ইস্যুটিInline::Perl5
খোলেন এবং নীচে নীচে এবং জ্যান্থনের মধ্যে এক্সচেঞ্জের কয়েকটি হাইলাইটগুলি বের করেছি।
(আমি এমন কিছু জিনিসকে যথাযথভাবে রেখেছি যা মূল প্রসঙ্গে গুরুত্বপূর্ণ, তবে এই এসও এর প্রসঙ্গে বিভ্রান্তিকর Please অনুগ্রহ করে ধরে নিবেন না যে এই এক্সট্র্যাক্ট থেকে আপনার কাছে মূল কথোপকথনের একটি সম্পূর্ণ উপলব্ধি আছে doubt সন্দেহ হলে লিঙ্কটি ক্লিক করুন। )
নাইনার: টিবিএইচ আমি এখানে যা করি সম্ভবত বরাবরই মজাদার ছিল ... এমনকি এটি হতেও পারে ... আমি এ থেকে মুক্তি পেতে পারি ... ইতিমধ্যে মোতায়েন করা ইনলাইন :: পার্ল 5 সংস্করণগুলি চালু রেখে চলতে ভাল লাগবে ।
jnthn: এর জন্য পূর্বের কোনও অনুমান ছিল না Metamodel::Primitives.rebless
। আমি [একটি] স্পেসিস্ট যোগ করেছি যাতে এখন আছে। এর অর্থ হ'ল এখন কী কাজের আশা করা যায় এবং কোন ইনলাইন :: পার্ল 5 নির্ভর করতে পারে তার কিছু সংজ্ঞা আছে।
যেহেতু অজানা নামযুক্ত প্যারামিটারগুলি উপেক্ষা করা হয়েছে, তবে :mixin
এটি পূর্বের রকুডো সংস্করণগুলির জন্য প্রয়োজনীয় ছিল না, তবে এটি একটি নতুন ইনলাইন :: পার্ল 5 রিলিজ করা সম্ভব হবে যা পূর্বের রাকুডো সংস্করণগুলিতে পাশাপাশি আসন্নটিতেও কাজ করতে পারে, তাই কমপক্ষে সেখানে থাকতে পারে ব্যাক compat।
আমি মনে করি না বিদ্যমান ইনলাইন :: পারল 5 সংস্করণগুলিতে জিনিস রাখার কোনও উপায় নেই ...
নিনার: দুর্ভাগ্যক্রমে পাস করা :mixin
এই ক্ষেত্রে সহায়তা করে না কারণ রেবলস মাধ্যমে তৈরি করা একটি সাবক্লাসে করা হয়েছে Metamodel::Primitives.create_type
। সাবক্লাসটি স্বাভাবিক ব্যবহার করে Perl6::ClassHOW
।
আমি প্রথম স্থানে রেবলস হ্যাক থেকে মুক্তি পাওয়ার জন্য একটি বড় রিফ্যাক্টরের উপর কাজ করছি। আমি এই ইস্যুটি আবার খুলছি তাই রিলিজ ম্যানেজারটি রাকুডোর মুক্তির প্রার্থী সম্পর্কে কোনও কাজের ইনলাইন :: পার্ল 5 না থাকার বিষয়ে অবগত আছেন।
jnthn: আপনি এমওপি ব্যবহার করে class শ্রেণিটি তৈরি করেন? আপনি যদি পাস :is_mixin
করতে Perl6::ClassHOW.new_type
পারেন।
নিনার: না, এটি এই পরিস্থিতির জন্য:class Bar is Foo { }
দস্তাবেজগুলিতে সহায়তা করা
এই উত্তরের নীচে একটি মন্তব্যে আপনি লিখেছেন:
আমি ডকুমেন্টেশন অংশ সাহায্য করতে পারেন
এটি আপনার SOQ এর কেন্দ্রে ইস্যুটির জন্য খুব উপযুক্ত এবং দরকারী প্রতিক্রিয়ার মতো বলে মনে হচ্ছে। আমি আশা করি যে আমাদের ভাগ্যবান যে এটি ঘটেছে।
যদি এটি সাহায্য করে
ইমো আপনার প্রযুক্তিগত লেখাগুলি দুর্দান্ত তাই আমি আশা করব যে এটির উন্নতিতে জড়িত অন্যদের সাথে আপনার কাজ করার শেষ ফলাফলটি একটি দুর্দান্ত জিনিস হবে।
ডকস.রাাকু.আর.োগো এর সামগ্রীতে মৌলিক প্রতিবন্ধকতা
আমি এই ধরণের আপাতদৃষ্টিতে সহজ প্রশ্নের বাকি এই খুব বিস্তৃত উত্তরটি লেখার কারণের একটি বড় অংশটি জোনাথন এর উত্তর দেওয়ার পরে এটি প্রথমে মুছে ফেলার পরে পুনরায় ফিরিয়ে দিয়েছিল, টিডিডি পদ্ধতির নীতি ও অনুশীলন নিয়ে আলোচনা করা যা কাজটির উপর ভিত্তি করে কাজ করেছে was রাকু প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং সম্পর্কিত শিল্পকলা যেমন রাকুডো সংকলক এবং ডকস.আরাকু.আর.োগু কন্টেন্ট।
Aiui, কিভাবে যে Raku কাজ অনুমিত হয়, এবং কিভাবে তারা আসলে Rakudo এ কাজ করে এবং কিভাবে যে এ তথ্যচিত্র হয়ে অনুমিত হয় মধ্যে কাম্য সম্পর্ক docs.raku.org নিচে boils:
সবকিছু অবশ্যই একটি স্বেচ্ছাসেবক প্রকল্পের মৌলিক প্রকৃতির সাপেক্ষে গণ্য হবে; এবং, এই সীমাবদ্ধতার মধ্যে:
মধ্যে আচরণ রোস্ট উচিত নথিভুক্ত করা এবং অন্যান্য আচরণ করা উচিত নয়।
(উপলভ্য স্বেচ্ছাসেবীর সময়, আগ্রহ এবং sensকমত্যের কারণে ব্যতিক্রমগুলি মাঝে মাঝে সঠিকভাবে QA'd রাকুডোর আচরণের নথিভুক্ত করার জন্য করা হয় যা রোস্টের আওতায় আসে না current
অকেজো ডকুমেন্টেশন
ডকুমেন্টেশন সহায়ক নয়
আমি এটিকে একটি ন্যায্য মন্তব্য বলে বিবেচনা করেছি। সমস্ত বিষয় বিবেচনা করা হয়, আপনি যখন আপনার প্রশ্ন লিখেছিলেন তখন ডকুমেন্টেশনটি যেমন ছিল তেমন সহায়ক ছিল না।
ডকুমেন্টেশন অকেজো [2018 সালে]
এটি একটি খুব পৃথক বক্তব্য।
তখন কোনও রোস্ট এন্ট্রি coveringাকা ছিল না rebless
।
উপর docs.raku.org পৃষ্ঠা তাহলে rebless
ছিল তার আচরণ বর্ণনা অনুযায়ী এটা 2018 সালে ছিল, তারপর যে হত বেহুদা চেয়ে খারাপ , কারণ এটি ভুল সুপারিশ করবে যে তারপর বর্তমান আচরণ সমর্থন দেন। বাস্তবে এর যথাযথ সম্ভাবনা ছাড়াই রাকুডোর ভবিষ্যতের সংস্করণে ভেঙে যাওয়ার সুযোগ ছিল 2018 এর আচরণটি মূল ডেভস দ্বারা পুনরুদ্ধার করা হবে। এবং প্রকৃতপক্ষে এটি ঘটেছে: এর 2018 এর অসমর্থিত আচরণটি ভেঙে গেছে, এবং পুনর্বহাল করা হয়নি।
সুতরাং, ডকস.আরাকু.অর্গ.এর মধ্যে যা আছে এবং কী নেই (উপরে দেখুন) সে বিষয়ে onক্যমত্যের ভিত্তিতে, তার rebless
পৃষ্ঠায় সবচেয়ে কার্যকর যেটি করতে পারে তা হ'ল হয় নথিতে নথী না করা rebless
, সম্ভবত এটির জন্য একটি পৃষ্ঠা অন্তর্ভুক্ত করা তবে এটি তার আচরণের বর্ণনা দেয় নি তা নিশ্চিত করুন । পরিস্থিতিটি যা ছিল তা হ'ল: পৃষ্ঠার অস্তিত্ব ছিল; সরাসরি সাহায্যকারী ছিল না; এবং এটি যুক্তিযুক্ত কিছুই চেয়ে ভাল ছিল।
(জিনিসগুলি এখনও আরও ভাল হয়েছে তা কল্পনা করা সহজ example উদাহরণস্বরূপ, কী কী যদি ডকুমেন্টিং ফাংশনগুলিতে এমন একটি শতাংশ অন্তর্ভুক্ত থাকে যা সর্বশেষতম রাকুডো স্টারের রাকুডোর সংস্করণে সেই ফাংশনটির সাথে সম্পর্কিত টেস্ট কভারেজের অবস্থার সাথে সম্পর্কিত হয়? একটি 0% অবিলম্বে একজন পাঠককে ক্লু করতে পারে এই সচেতনতাকে জানাতে যে এই ফাংশনটি রোস্টের দ্বারা আচ্ছাদিত হয়নি said এটি বলেছে যে এই ডক বৈশিষ্ট্যটি সহজেই কল্পনা করা যায় , কে এটি বাস্তবায়ন করবে? এটি কল্পনা করাও সমান সহজ যে এটি একটি ক্যালেন্ডার বছর বা আরও পরিশ্রমী কাজ নিতে পারে এবং কার্যকরভাবে প্রয়োগ ও মোতায়েনের জন্য সহযোগিতা এবং লোকেরা মনে করে যে অন্যান্য জিনিস আরও গুরুত্বপূর্ণ)
এটি কাজ করেছিল ... হঠাৎ করে এটি ঘটেনি ... ডকুমেন্টেশন ... কলটি ডকুমেন্ট করা উচিত
এটা কাজ করেছে
এটি "ভাগ্য" এটি কাজ করেছিল।
হঠাৎ করে আর কাজ হয়নি
কারণ রাকুদো উন্নত হয়েছিল।
ডকুমেন্টেশন ... কল ডকুমেন্ট করা উচিত
হিসাবে তার আগে ব্যাখ্যা, বর্তমান সম্প্রদায় ঐক্যমত্য এবং / অথবা কাজ অনুশীলন aiui হল: ডকুমেন্টেশন উচিত নথি একটি নির্দিষ্ট সংস্করণ কল, যথা রোস্ট 'সর্বশেষ Rakudo স্টারে Rakudo এর সংস্করণের জন্য ঘ আচরণ; এবং অন্যান্য সংস্করণগুলিতে মেই ডকুমেন্ট আচরণ।
এবং অন্য কিছু উল্লেখ না
আইউই, বর্তমান sensক্যমত্য এবং / অথবা কার্যনির্বাহী অনুশীলন হ'ল কিছু "দুর্বল" ডক অবদান বিবেচনা করতে পারে, উদাহরণস্বরূপ কিছু সংক্ষিপ্ত, তাড়াতাড়ি লিখিত সামগ্রী এবং / অথবা ডক্সের বাইরে লিঙ্কগুলি, স্বেচ্ছাসেবীরা যদি তাত্ক্ষণিক পরিবর্তনটি প্রতিফলিত করার জন্য সতর্কতা অবলম্বন করে তবে মনে করা যেতে পারে কোনও ব্যবহারকারী উত্থাপিত কিছু উদ্বেগ (উদাহরণস্বরূপ এই এসও) এবং "দুর্বল" পরিবর্তন করা মোটেও কিছু না করার চেয়ে ভাল হবে। আপনি অবশ্যই এটির উন্নতি করার জন্য পিআর করতে পারেন (বা যদি আপনি সত্যই মনে করেন যে কোনও পরিবর্তন এতটা দুর্বল "এটি আরও খারাপ করে তোলে)।
2019.11-এ পরিবর্তনের রেফারেন্সটি আমার গণনা অনুসারে 7 মাসের অবকাশ
(এটি আমার গণনা অনুসারেও এরকমই কিছু, যদিও আমি একই সংঘবদ্ধ আচরণের সাথে 2019.03.1 বলে দাবিকারী একটি সংকলক দেখেছি [[3] )
আমি মনে করি জেজে ডক পরিবর্তন করেছে এবং পরিবর্তনের সাথে কীভাবে মানিয়ে নেওয়া যায় সে সম্পর্কে তিনি জেন্টহনের মন্তব্যটির ভুল ব্যাখ্যা করেছিলেন। আমি বর্তমানে এটির চেয়ে ভাল বলে মনে করি এটি আপডেট করার অপেক্ষায়। :)
পাদটিকা
[১] ল্যারি তার 2000 সালের "পেঁয়াজের রাজ্য" বক্তৃতায় রাকুকে পরিচালিত প্রকল্পটি প্রথম ঘোষণা করার কয়েক মিনিটের পরে নিম্নলিখিতটি বলা হয়েছিল :
প্রশ্ন: [রাকু] কি চশমা দেবে?
ল্যারি: আমরা বিশেষত যেটাকে চাপ দিতে চাই ... আমাদের বর্তমান প্রতিরোধ পরীক্ষাটি বিকাশ করার মতো ভাষা ভাষার নকশাটি এতটা বেশি নয় ... ভাষার প্রকৃত অর্থ কী এবং এটি সত্যই বেরিয়ে গিয়ে সমস্ত কৌনিক অনুসন্ধান করে এবং crannies এবং বলে, "এটি [রাকু], এটি [রাকু] নয়," এবং তারপরে আমাদের কাছে আসলে একটি মেশিন-পঠনযোগ্য নকশা রয়েছে। এবং আমার কাছে এটি মানুষের পাঠযোগ্য জিনিসটির মুখের বাক্য যা বলে তার চেয়ে অনেক বেশি গুরুত্বপূর্ণ।
[2] অবশ্যই, যদি কোনও পরীক্ষার দ্বারা ব্যবহারকারীের প্রয়োজনগুলি যথাযথভাবে আবৃত হয় তবে কোনও প্রদত্ত ব্যবহারকারীর জন্য রোস্ট কেবলমাত্র ভাল কাজ করে। আরনের সমস্যাটি দেখায় যে কীভাবে কভারেজের গর্তগুলি অবাক হতে পারে। এই গর্তগুলি 2018 এ দাঁড়িয়ে হিসাবে তাদের জন্য আলোচনার জন্য, স্পেস, সংস্করণ, পরিবর্তন এবং… ভাঙ্গা দেখুন । সুসংবাদটি হ'ল যে রোস্টটি রাকুতে লিখিত অনেকগুলি ইউনিট পরীক্ষাগুলি যা পরীক্ষার জন্য নির্দিষ্ট মানগুলির সাথে অভিব্যক্তি বা গঠন কোনও নির্দিষ্ট কাজ করে test সুতরাং ব্যক্তিদের বা কর্পোরেশনগুলির পক্ষে পরীক্ষার কভারেজ উন্নত করতে নতুন পরীক্ষার অবদান রাখা সহজ। এবং এটি সমস্ত সংস্করণ নিয়ন্ত্রণের (গিট) অধীনে, সুতরাং কাস্টম ডাউনস্ট्रीम ট্যাগ, শাখা এবং কাঁটাচামচগুলি কার্যকর, টেকসই এবং পরিচালনাযোগ্য। (বস্তুত, যে কিভাবে নতুন ভাষা সংস্করণে ( Christmas
, Diwali
, Eid
(?), ইত্যাদি) পরিচালিত করা হয়।)
[3] আমি নিয়মিত newclass is oldclass
সিনট্যাক্স উভয়ই (আমার ল্যাপটপে) কাজ করে এবং (repl.it- এ) দাবি করে না এমন দাবিকারী সংযোজনকারীদের ব্যবহার করে তৈরি করা একটি নতুন শ্রেণীর পুনর্বিবেচনা করার চেষ্টা দেখেছি 2019.03.1
। (অনুমানযোগ্যভাবে repl.it সংকলক উত্স কোডের একটি সংস্করণ ইনস্টল করেছে, বা এটি থেকে সংকলিত একটি বাইনারি, সংকলকটির সংস্করণটি 2019.03.1
পরিবর্তিত হওয়ার সাথে সাথেই স্থান পরিবর্তন হওয়ার সাথে সাথে মাস্টার হেড থেকে নেওয়া হয়েছে I আমি নোট করি যে repl.it স্বর্গ ' তাদের অনলাইন রাকু রিপ্লাইটি প্রচার করলেন - আমি এটি দুর্ঘটনাক্রমে আবিষ্কার করেছিলাম - সুতরাং এই পরিস্থিতি সম্পর্কে কিছুই অপছন্দ নয় তবে এটি $RAKU.compiler.verbose-config
কেবলমাত্র আমার সাথে যুক্ত / ভাঙ্গা আউটপুটগুলিতে ব্যবহৃত পদ্ধতির প্রয়োজনটিকে আরও জোরদার করেছে ced)