library(knitr)
knit("1. Class.Rmd")
##
##
## processing file: 1. Class.Rmd
##
|
| | 0%
|
|.......... | 9%
|
|..................... | 18% (unnamed-chunk-14)
|
|............................... | 27%
|
|.......................................... | 36% (unnamed-chunk-15)
|
|.................................................... | 45%
|
|............................................................... | 55% (unnamed-chunk-16)
|
|......................................................................... | 64%
|
|.................................................................................... | 73% (unnamed-chunk-17)
|
|.............................................................................................. | 82%
|
|......................................................................................................... | 91% (unnamed-chunk-18)
|
|...................................................................................................................| 100%
## output file: 1. Class.md
## [1] "1. Class.md"
#Install a package R6 name
install.packages("R6")
## Error in install.packages : Updating loaded packages
library(R6)
#Defining a class
Person <- R6Class(
classname = "Person",
public = list(
name = NULL,
age = NULL,
desire = NULL,
initialize = function(name = NA, age = NA, desire=NA){
self$name <- name
self$age <- age
self$desire <- desire
self$say_hello()
},
set_age = function(val){
self$age <- val
cat("Age of ", self$naem, " is: ", val, ".\n", sep = "")
},
set_desire = function(val){
self$desire <- val
cat("Desire of ", self$name, "is: ", val, ".\n", sep = "")
},
say_hello = function(){
cat(paste0("Hello, my name is ", self$name, ".\n", "age of ", self$age, ".\n", "desire of ", self$desire, ".\n"))
}
)
)
#Inititalizing objects
ho_duc_duy <- Person$new(
name = "Ho Duc Duy",
age = "38",
desire = "Gap in knowledge"
)
## Hello, my name is Ho Duc Duy.
## age of 38.
## desire of Gap in knowledge.
#Getting and setting attributes
ho_duc_duy$set_age(38)
## Age of is: 38.
ho_duc_duy$age
## [1] 38
ho_duc_duy$age <- 39
ho_duc_duy$age
## [1] 39
hdd <- ho_duc_duy$clone()
hdd$age
## [1] 39
hdd$say_hello()
## Hello, my name is Ho Duc Duy.
## age of 39.
## desire of Gap in knowledge.