Accel Brain; Console×

R言語のR6パッケージの「All elements of public, private, and active must be named」のエラー対応

スポンサーリンク

R6」のパッケージを利用すると、R言語でも「クラスベース」のオブジェクト指向プログラミングを実施できるようになる。しかしこのパッケージにはいくつかの癖がある。その一つがarrow operatorは使えないということだ。

メソッドやフィールドの記述にarrow operatorを利用した場合、以下のようなエラーが出力される。

All elements of public, private, and active must be named.

上記のエラーについて、検索してみると、メソッドをarrow operatorで記述すると出力されるエラーであるという報告も見受けられるが、正確にはフィールドについても該当する。

library("R6");

> RSixAPL <- R6Class (
+     "RSixAPL",
+     private = list(
+         arrow <- "allow"
+     ),
+     public = list(
+         debug = function ()
+         {
+             return (private$arrow);
+         }
+     )
+ )
 R6Class("RSixAPL", private = list(arrow <- "allow"), public = list(debug = function() { でエラー: 
  All elements of public, private, and active must be named.

参考資料

フォローする