作者LCamel (LCamel)
看板PLT
标题Re: [比较] 我为何锺情於用 Scala 做为兵刃(三)
时间Tue Sep 6 18:01:35 2011
※ 引述《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
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.192.192.55