Re: [比较] 我为何钟情于用 Scala 做为兵刃(三)

楼主: LCamel (LCamel)   2011-09-06 18:01:35
※ 引述《brianhsu (坟墓)》之铭言:
: 举例来说,在 Functional Programming 中,如果我们要试着对 (-1, -2,
: -3, 0, 1, 2, 3) 这个数列里的每一个原素做平方,最后再找出大于 5 的
: 有几个时,做法大致如下:
试着用 J 写看看 ...
#(#~5<|)*: _1 _2 _3 0 1 2 3
2
+/5<|*: _1 _2 _3 0 1 2 3
2
过程:
a =: _1 _2 _3 0 1 2 3
*: a
1 4 9 0 1 4 9
5<| *: a
0 0 1 0 0 0 1
(#~ 5<|) *: a
9 9
# (#~ 5<|) *: a
2
空白缩缩变成 #(#~5<|)*: a
或上面第2步 0 1 0 1 直接加起来
+/ 5<| *: a
2
空白缩缩变成 +/5<|*: a
好吧.. 我承认我全部知道的 J 也只有这么多了.....
详情请参考 "Learning J"
http://www.jsoftware.com/help/learning/contents.htm
解开可跑
http://www.jsoftware.com/stable.htm
http://en.wikipedia.org/wiki/J_(programming_language)
http://en.wikipedia.org/wiki/APL_(programming_language)
LCamel
===
莫明其妙的 bonus:
(^ o^)/
(^ o ^)/
(^ o^)/ 42
42

Links booklink

Contact Us: admin [ a t ] ucptt.com