我正在尝试通过通常运行良好的 OpenAPI Generator 创建 R 代码;现在我意识到枚举实际上存在问题。当尝试对这些类进行 source() 时,我得到一个错误“错误值”,在检查时这是有道理的 - 这是生成的代码:
#' EnumTest Class
#'
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
EnumTest <- R6::R6Class(
'EnumTest',
public = list(
initialize = function(, ...){# <-- here is the issue imo (the comma)
local.optional.var <- list(...)
},
toJSON = function() {
EnumTestObject <- list()
EnumTestObject
},
fromJSON = function(EnumTestJson) {
EnumTestObject <- jsonlite::fromJSON(EnumTestJson)
},
toJSONString = function() {
sprintf(
'{
}',
)
},
fromJSONString = function(EnumTestJson) {
EnumTestObject <- jsonlite::fromJSON(EnumTestJson)
self
}
)
)
问题是第 10 行中的逗号,我认为:编写类似的东西function(test, ...)
可以让我毫无错误地阅读课程。
然而,问题仍然存在:我看不出有任何理由为什么这段代码会做任何枚举会做的事情,并且实际上打印 egprint(EnumTest$new("enum-value"))
表明我的实际值无处可寻,并且$self
也如预期的那样为 NULL。
生成的代码从一开始就出错了吗?还是我错过了什么?
编辑:
我的 OpenAPI JSON Schema 中的条目如下,如果有帮助的话:
"EnumTest": {
"enum": [
"One",
"Two",
"Three"
],
"type": "string"
}`