রক্সিজেন (2) সহ ক্লাস নথিভুক্ত করার জন্য, শিরোনাম এবং বিবরণ / বিবরণ নির্দিষ্ট করে ফাংশন, পদ্ধতি, ডেটা ইত্যাদির ক্ষেত্রে একই বলে মনে হয় তবে স্লট এবং উত্তরাধিকার তাদের নিজস্ব ধরণের প্রাণী। রোজিন 2 এ এস 4 ক্লাস নথিভুক্ত করার জন্য - বর্তমান বা পরিকল্পিত - সেরা অনুশীলন কী?
যথাযথ অধ্যবসায়:
আমি @slotরক্সিজেনের প্রাথমিক বিবরণগুলিতে একটি ট্যাগের উল্লেখ পেয়েছি।
২০০৮-এর একটি আর-ফরজ মেলিং তালিকার পোস্টটি
মনে হচ্ছে যে এটি মৃত, এবং @slotরক্সিজেনে কোনও সমর্থন নেই :
এটি কি রোজিন 2 এর সত্য? পূর্বে উল্লিখিত পোস্টে পরামর্শ দেওয়া হয়েছে যে ব্যবহারকারীর পরিবর্তে লটেক্স মার্কআপের মাধ্যমে তাদের নিজস্ব আইটেমযুক্ত তালিকা তৈরি করা উচিত। উদাহরণস্বরূপ একটি নতুন এস 4 শ্রেণি যা শ্রেণিটি প্রসারিত করে "character"কোড করা হবে এবং এটি নথিভুক্ত হবে:
#' The title for my S4 class that extends \code{"character"} class.
#'
#' Some details about this class and my plans for it in the body.
#'
#' \describe{
#' \item{myslot1}{A logical keeping track of something.}
#'
#' \item{myslot2}{An integer specifying something else.}
#'
#' \item{myslot3}{A data.frame holding some data.}
#' }
#' @name mynewclass-class
#' @rdname mynewclass-class
#' @exportClass mynewclass
setClass("mynewclass",
representation(myslot1="logical",
myslot2="integer",
myslot3="data.frame"),
contains = "character"
)
যাইহোক, যদিও এই কাজ, এই \describe, \itemস্লট দলিল জন্য পদ্ধতির roxygen (2) বাকি সঙ্গে সঙ্গতিহীন বলে মনে হয়, যে সেখানে নেই @-delimited ট্যাগ এবং স্লট থেকে কোন আপত্তি সঙ্গে অনথিভুক্ত যেতে পারে roxygenize()। শ্রেণীর উত্তরাধিকার সংজ্ঞায়িত করার নিয়মিত পন্থা সম্পর্কে এটি কিছুই বলেনি। আমি কল্পনা করি যে নির্ভরতা এখনও সাধারণভাবে ঠিকঠাকভাবে কাজ করে (যদি কোনও নির্দিষ্ট স্লটে অন্য প্যাকেজ থেকে একটি বেস-বেস শ্রেণীর প্রয়োজন হয়) @importট্যাগটি ব্যবহার করে ।
সুতরাং, সংক্ষেপে বলা যায়, রক্সিন (2) স্লটের জন্য বর্তমানের সেরা অনুশীলনটি কী?
এই মুহূর্তে বিবেচনা করার জন্য তিনটি বিকল্প রয়েছে বলে মনে হচ্ছে:
- উ - আইটেমযুক্ত তালিকা (উপরে উদাহরণ হিসাবে)।
- বি -
@slot... তবে অতিরিক্ত ট্যাগ / প্রয়োগের সাথে আমি মিস করেছি। আমি উপরের উদাহরণে আইটেমযুক্ত তালিকাটির প্রতিস্থাপন হিসাবে যে সংস্করণটি অন্তর্ভুক্ত করা হয়েছিল সেখানে রোলজিন / রোজ অক্সিজেন 2 এর সাথে কাজ করতে আমি স্লটকে অক্ষম করেছিলাম। আবার, উপরোক্ত উদাহরণটি রোজিকান (2) দিয়ে কাজ করে।- সি - স্লট নির্দিষ্ট করার জন্য কিছু বিকল্প ট্যাগ, যেমন
@paramএকই জিনিসটি সম্পাদন করবে।
আমি গিথুবেরroxygen2 বিকাশের পৃষ্ঠায় যে পোস্টটি করেছি তা থেকে এই প্রশ্নটি ধার করা / প্রসারিত করছি ।
setClassতুলনায় অনেক কম বিবৃতি রয়েছে setMethod। একবার @slotপ্রয়োগ করা গেলে পরিবর্তন করা খুব বেদনাদায়ক হবে না।
@slotসম্ভবত আপনি দীর্ঘমেয়াদী যা চান, তবে এটি প্রথমে বাস্তবায়ন করতে হবে ...