proto-package: Object-Oriented Programming with the Prototype Model

Description Details Note Examples

Description

Object-oriented programming with the prototype model. "proto" facilitates object-oriented programming using an approach that emphasizes objects rather than classes (although it is powerful enough to readily represent classes too).

Details

"proto" allows one to write object-oriented programs using the prototype model. It is a simple system that uses objects rather than classes yet is powerful enough to readily encompass classes too. The following are sources of information on "proto":

Home page u <- "http://r-proto.googlecode.com"; browseURL(u)
Overview README <- system.file("README", package = "proto"); file.show(README)
Invoking a demo file demo("proto")
Referance Card vignette("protoref")
Tutorial vignette("proto")
Prototype OO concepts document u <- "http://r-proto.googlecode.com/files/prototype_approaches.pdf"; browseURL(u)
News RShowDoc("NEWS", package = "proto")
Wish List RShowDoc("WISHLIST", package = "proto")
Thanks RShowDoc("THANKS", package = "proto")
License RShowDoc("COPYING", package = "proto")
Citation citation(package = "proto")
This File package?proto
Help file ?proto
graph.proto Help File ?graph.proto

Note

See ?graph.proto for the solution to a common Linux installation problem with Rgraphviz that proto depends on.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
cat("parent\n")
oop <- proto(x = 10, view = function(.) paste("this is a:", .$x))
oop$ls()
oop$view()

cat("override view in parent\n")
ooc1 <- oop$proto(view = function(.) paste("this is a: ***", .$x, "***"))
ooc1$view()

cat("override x in parent\n")
ooc2 <- oop$proto(x = 20)
ooc2$view()
## Not run: 
g <- graph.proto()
plot(g)

## End(Not run)

ggrothendieck/proto documentation built on May 17, 2019, 4:17 a.m.