which OO programming style in R will result readable to a Python programmer?

后端 未结 3 1321
再見小時候
再見小時候 2020-12-28 19:49

I\'m author of the logging package on CRAN, I don\'t see myself as an R programmer, so I tried to make it as code-compatible with the Python standard logging package as I co

3条回答
  •  梦毁少年i
    2020-12-28 20:39

    Sounds like a job for a reference class ?setRefClass, ?ReferenceClasses

    Logger <- setRefClass("Logger",
                      fields=list(name = "character"),
                      methods=list(
                        log = function(level, ...) 
                              { levellog(level, ..., logger=name) },
                        debug = function(...) { log("DEBUG", ...) },
                        info = function(...) { log("INFO", ...) },
                        warn = function(...) { log("WARN", ...) },
                        error = function(...) { log("ERROR", ...) }
                        ))
    

    and then

    > basicConfig()
    > l <- Logger$new(name="hierarchic.logger.name")
    > l$debug("oops")
    > l$info("oops")
    2011-02-11 11:54:05 NumericLevel(INFO):hierarchic.logger.name:oops
    > l$warn("oops")
    2011-02-11 11:54:11 NumericLevel(WARN):hierarchic.logger.name:oops
    > 
    

提交回复
热议问题