আমি যদি একটি আন সিল trait
বা abstract class
স্কালায় ব্যবহার করি এবং তারপরে প্যাটার্ন ম্যাচিং ব্যবহার করি, আমি অবাক হই, এই নির্দিষ্ট প্যাটার্নম্যাচটির জন্য সংকলকটি কি সংকলন সময়ে জানেন না যে এই বৈশিষ্ট্য / শ্রেণীর সম্ভাব্য প্রয়োগগুলি কীভাবে উপলব্ধ? সুতরাং, যদি তা হয়, তবে কী সম্ভাব্য সমস্ত নির্ভরতা / আমদানি যাচাই করে কোন ধরণের ব্যবহার করা যেতে পারে তা তিনি জানেন বলে trait
/ abstract class
সিল করা না হলেও প্যাটার্ন ম্যাচের সতর্কতাগুলি দিতে পারে না ?
উদাহরণস্বরূপ, যদি আমার একটি থাকে Option[A]
এবং আমি কেবল প্যাটার্ন ম্যাচিং করি তবে এটির জন্য Some[A]
নয় None
, সংকলকটি অভিযোগ করবে, কারণ Option
সিল করা আছে।
সংকলক যদি তা জানতে / সমাধান করতে না পারে তবে সে কেন পারবে না? এবং যদি সংকলক (তাত্ত্বিকভাবে) এটি করতে পারে তবে এটি স্কালায় ব্যবহৃত না হওয়ার কারণগুলি কী? অন্য ভাষা আছে যা এই ধরণের আচরণকে সমর্থন করে?
Foo
উপশ্রেণী সঙ্গে A
, B
এবং C
, এবং আপনার প্যাটার্ন ম্যাচ সব শুধুমাত্র যারা তিন মেলে। D
আপনার প্যাটার্নের মিলগুলি ফুটিয়ে তুলবে এমন কোনও নতুন সাবক্লাস যোগ করা থেকে আমাকে কিছুই থামায় না ।
java.lang.ClassLoader
।