我正在尝试在基于类的对象中创建流结构。我有 4 个方法(应该从方法 [run()] 调用 3 个方法。
问题:
假设您在同一个对象/类中,您是否可以从另一个方法调用一个方法。
什么有效:
我能够以正确的输出逐一运行以下方法:
游戏$part_1()
游戏$part_2()
游戏$part_3()
错误:
当我发出 [game$run()] 时,我收到以下错误:
Error in part_1() : could not find function "part_1"
想要的行为:
我希望对象能够运行由其他方法触发的方法(所有方法都在同一个类中)。
if (!"package:R6" %in% search()) {
library(R6)
}
# Class
Game <- R6Class("Game",
public = list(
# Properties:
a = 0,
b = 0,
sum = 0,
# Functions:
run = function() {
part_1()
part_2()
part_3()
},
part_1 = function() {
self$a = 10
return(self$a)
},
part_2 = function() {
self$b = 20
return(self$b)
},
part_3 = function() {
self$sum = self$a + self$b
return(self$sum)
}
)
)
# Instantiate an object base on a class.
game <- Game$new()
# Run function that runs through all other functions.
game$run()