このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

S3, S4, R5, proto

ひどい話だ。

S3 S4 R5 proto
typeof(x) 多くは"list" "S4" "S4" "environment"
class(x) S3クラス名 S4クラス名 R5クラス名 "proto", "environment"
attributes(x) 普通 オブジェクト構造 普通 classだけ
names(x) メンバー列挙 NULL NULL NULL
ls(x) メンバー列挙 エラー メンバー列挙 メンバー列挙
str(x) 情報多い 情報多い 情報少ない 情報多い
getClass(x) エラー 情報中くらい 情報少ない エラー
x$getClass() エラー エラー(@でも) 情報中くらい エラー
x$class() エラー エラー(@でも) エラー protoのクラス名
  • S3クラスのメソッド列挙は、methods(class="name") で出来るが名前の検索をしているだけ。
  • S4クラスでは、x@slots と ls(x@refMethods) でスロットとメソッドが列挙できる。メソッド関数には、x@refMethods$methodName でアクセスできる。