#####################################################################################
## Author: Daniel Sabanes Bove [sabanesd *a*t* roche *.* com]
## Project: crmPack
##
## Time-stamp: <[classes2.R] by DSB Fre 02/01/2015 18:17>
##
## Description:
## try to reproduce initialization problems
##
## History:
## 02/01/2015 file creation
#####################################################################################
.A <- setClass(
Class = "A",
representation(x = "numeric"),
prototype(x = 1),
validity =
function(object) {
msg <- NULL
if (length(object@x) != 1 || object@x <= 0) {
msg <- c(msg, "'x' must be length 1 and > 0")
}
if (is.null(msg)) TRUE else msg
}
)
validObject(.A())
A <- function(z, ...) {
x <- z + 1
.A(x = x, ...)
}
.B <- setClass(
Class = "B",
representation(y = "numeric"),
prototype(y = 2),
contains = "A",
validity =
function(object) {
msg <- NULL
if (length(object@y) != 1 || object@y <= 0) {
msg <- c(msg, "'y' must be length 1 and > 0")
}
if (is.null(msg)) TRUE else msg
}
)
validObject(.B())
B <- function(bla, z, ...) {
obj <- A(z, ...)
y <- obj@x + bla
.B(obj, y = y, ...)
}
test <- B(
z = 4,
bla = 5
)
test
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.