R cannot declare setClass with inheritance -
removeclass("a") setclass('a',representation=representation(a="numeric")) setmethod('initialize','a', function(.object,...,a){ .object@a=a .object })
ok here
removeclass("b") setclass('b',representation=representation(b="numeric"),contains="a")
this code fails on definition of class "b" , without had chance add initialize method "b", , without create object
error in .local(.object, ...) : argument "a" missing, no default
it not fail if add default value parameter in initialize.a method
can explain why ?
"why" tricky question, answer being "because" it's implemented way. if you're asking needs done avoid this, answer either (a) provide default value argument a
in constructor or (b) avoid using initialize method. there discussion here. implicit contract new("a")
succeeds,
Comments
Post a Comment