介绍
APL是一个Array Language,wiki上说又这样的思想的语言主要有 APL, J, Fortran 90, MATLAB, Analytica, Octave, R, Cilk Plus, Julia, Perl Data Language (PDL)
。这些语言在我平常生活中很少用到,但是在模拟、数据处理的等方面又很大的用处(例如R)
APL的特色
APL最大的特色可能就是那难以阅读的符号了。在APL语言出现的时候,想要写APL代码可能需要去购买特制的键盘来辅助打出符号(见Wiki中的附图)
开始编写代码
首先我们先写一个Hello World吧
'Hello World'
就这么简单 那还是快点步入正题吧,先来点标量四则运算
1+1 ⍝<-这个符号代表注释
⍝2
3-2
⍝1
5×6 ⍝<-你没有眼花,这不是*,也不是x,这就是个乘号
⍝30
6÷3 ⍝这里也确实是个除号
⍝2
使用大量的特殊符号确实有些让人讨厌,例如打出注释符号⍝
时我还必须要特地复制粘贴一个。当然了,四则运算是相当简单的,接下来点复杂的。
1 2 3 + 4 5 6 ⍝ 每个量分别运算
⍝5 7 9
10*2 ⍝ 这个是power符号,和我们常用的^并不一样
⍝100
2⍟128 ⍝这是log
⍝7
⍝*和⍟如果前面没有指定的的数(就像上面的10和2)则默认为exp和ln
⌈ 这是ceilling
⌊ 这是floor
参见https://en.wikipedia.org/wiki/Floor_and_ceiling_functions
1 5 10 ⌈ 3
⍝3 5 10 就是输出较大的那个
1 5 10 ⌊ 3 6 7
⍝1 5 7 就是输出较小的那个,但在这种用法下两边必须等长
a ← 2×3+1
⎕ ← a
⍝8
APL是严格的从右往左的语言,在不加括号的情况下所有运算又是从右向左的。
最后的⎕符号是输出符号
总结
APL这个语言还是只适合浅尝,不然太难啃了,可以去上面的资料中继续学习。
Comments | NOTHING