Scala-like case classes for Ruby
mame/case_class
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
= case_class Scala-like case classes for Ruby == SYNOPSIS: require "case_class" include CaseClass Number = Case[:n] Sum = Case[:e1, :e2] # evaluation with pattern matching def eval(n) case n when Sum[e1 = _, e2 = _] then eval(e1) + eval(e2) when Number[n = _] then n end end # (1 + 2) + (3 + 4) => 10 expr = Sum[Sum[Number[1], Number[2]], Sum[Number[3], Number[4]]] p eval(expr) #=> 10 == LICENSE: Copyright:: Yusuke Endoh <mame@tsg.ne.jp> License:: Ruby's
About
Scala-like case classes for Ruby
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published