The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Q7 is a type system that enables a postmodern flavor of compositional object-oriented programming (OOP). It is simple, flexible and promotes healthy program design.
Q7 features:
type()
, feature()
and
implement()
to compose objects;initialize()
and
finalize()
to run at its beginning and end of life;public
, private
,
final
, private_final
and active
binding modifiers to change the visibility and behavior of its
members.# install.packages("devtools")
::install_github("iqis/Q7") devtools
require(Q7)
#> Loading required package: Q7
#> Loading required package: magrittr
#>
#> Attaching package: 'Q7'
#> The following object is masked from 'package:base':
#>
#> merge
Make a Q7 object in 3 easy steps.
1, Define an object type:
<- type(function(num1, num2){
Adder <- function(){
add_nums + num2
num1
} })
2, Instantiate the object:
<- Adder(1, 2) myAdder
3, Enjoy!
$add_nums()
myAdder#> [1] 3
See vignettes for extending an object and other topics.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.