রক্সিজেন (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
সম্ভবত আপনি দীর্ঘমেয়াদী যা চান, তবে এটি প্রথমে বাস্তবায়ন করতে হবে ...