class Calcula::Exprs::FuncExpr
Expression for functions and lambda expression
@author Paul T.
Public Class Methods
new(params, action)
click to toggle source
@param params [Calcula::Exprs::ParamsExpr] Parameters to the function @param action [Calcula::Expr] The body of the function
# File lib/Exprs/FuncExpr.rb, line 10 def initialize(params, action) @params = params @action = action end
Public Instance Methods
children()
click to toggle source
@see Calcula::Expr#children
@param (see Calcula::Expr#children
) @return (see Calcula::Expr#children
)
# File lib/Exprs/FuncExpr.rb, line 36 def children [@params, @action] end
to_s(form: :src)
click to toggle source
@see Calcula::Expr#to_s
@param (see Calcula::Expr#to_s
) @return (see Calcula::Expr#to_s
)
# File lib/Exprs/FuncExpr.rb, line 18 def to_s(form: :src) paramsTxt = @params.to_s(form: form) actionTxt = @action.to_s(form: form) case form when :src then "\\#{paramsTxt}(#{actionTxt})" when :tree then "(lambda #{paramsTxt} #{actionTxt})" when :ruby then "->#{paramsTxt}{#{actionTxt}}" else nil end end