apl中文简称(语言各符号含义与中文语法设计尝试)

续 前文Dyalog 中,字母 Epsilon,快捷键为 `e单参数时,将参数中的各项“展平”成为一个数组,如:,接下来我们就来聊聊关于apl中文简称?以下内容大家不妨参考一二希望能帮到您!

apl中文简称(语言各符号含义与中文语法设计尝试)

apl中文简称

续 前文。

∊ ~

Dyalog 中,字母 Epsilon,快捷键为 `e。单参数时,将参数中的各项“展平”成为一个数组,如:

∊ 2 3 ⍴ 1 2 1 2 1 2 1 2

双参数时,返回的是左侧各项在右侧出现与否,如:

'没啥' 4 ∊ 4 '没' '没啥啊' 0 1 (⍳6) ∊ 6 2 4 7 0 1 0 1 0 1

~

单参数时,取反:

~ 0 1 0 0 1 0 1 1

双参数时,从左边剔除右边的各项:

3 1 4 1 5 ~ 5 1 3 4 'aa' 'bb' 'cc' 'bb' ~ 'bb' 'xx' aa cc

对应中文语法

∊ 2 3 ⍴ 1 2 列出 2 3 重塑 1 2 '没啥' 4 ∊ 4 '没' '没啥啊' '没啥' 4 属于 4 '没' '没啥啊' ~ 0 1 0 0 取反

0 1 0 0 3 1 4 1 5 ~ 5 1 3 1 4 1 5 剔除

5 1

下面是求某数以内所有质数

的APL例程(详细分析见 APL wiki):

R←10 (~R∊R∘.×R)/R←1↓⍳R 2 3 5 7

用之前的设计将符号改为对应中文:

R置为10 (取反 R 属于 R 两两 相乘 R) 复刻 R 置为 1 去头 数列 R

如果用自然语言语法表达第二句,可以是:R置为2到R,从R剔除R自身张量积中的各项。

通过添加一些语法糖,比如 “2到R”对应“1 去头 数列 R”、“从R剔除..中的各项”<-->“(取反 R 属于 ..) 复刻 R”,减少了代码量的同时省去了括号。是否有比较通用的语法设计(以及代码风格)可以规避多数情况下括号的使用、同时保持一定可读性呢?

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页