Jump to content

First-class functions: Difference between revisions

m
→‎{{header|Sidef}}: updated code and output
m (→‎{{header|Sidef}}: updated code and output)
Line 2,492:
<lang ruby>func compose(f,g) {
func (*args) {
f(g(args...));
}
}
 
var cube = func(a) { a.pow(3) };
var croot = func(a) { a.root(3) };
 
var flist1 = [MathNum.method(:sin), Math Num.method(:cos), cube];
var flist2 = [MathNum.method(:asin), MathNum.method(:acos), croot];
 
for a,b (flist1.range.each {~Z |i|flist2) {
say compose(flist1[i]a, flist2[i]b)(0.5);
}</lang>
{{out}}
<pre>
0.5
0.5
0.499999999999998
0.5
</pre>
2,756

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.