「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.