diameter 发表于 2011-6-30 22:03:37

[Add-in]Malical 2.15[我要专家]

本帖最后由 diameter 于 2011-6-30 22:12 编辑

Anderain Lewis(Diameter)的9860G拓展脚本解释器。
我们的口号是——比PRGM做的强,比PRGM做的好!

添加数组功能,内附详细的介绍。
摘录:
2.变量、表达式
Malical中,使用var<变量表...>(例:var)来声明一个变量。(与一些语言不同)Malical变量没有类型,变量的值才有类型。在运行期间变量可以赋一下任何一种类型的值。在函数外声明的变量是全局变量,全局可以共用,而在函数内声明的只能在函数调用期间使用。
NIL、BOOLEAN、STRING、NUMBER、REFERENCE、ARRAY
其中REFERENCE是系统内部类型,用户无法使用。
NIL类型
Malical中用nil来表示一个空值
nil是NIL类型唯一的值
BOOLEAN类型
Malical中用来表示true(真)、false(伪)的类型
true和false是BOOLEAN类型只有的两种值
支持的运算符:and、or、not
STRING类型
字符串.
例:"Hello World!"、"12332132adasd"
支持的运算符:+
NUMBER类型
浮点数
例:0.1321、3.1415926
支持的运算符:+ - * / ^ > >= < <=
ARRAY类型
数据集合(数组),其中每个元素的值可以是任何类型。
数组使用下标(“[”、“]”)访问。使用{值表...}构造
例:
var
a = {[{}]}
print ] #=>输出1.000000

在Malical中,赋值运算符是“=”
例子:
var
a = 1
a = a+1
a = {}
a = not a

diameter 发表于 2011-6-30 22:06:40

根据数组的定义,可以很轻松的构造矩阵
var
a = {}
i = 0
j = 0
while i<10
    push[{}]
    j = 0
    while j<10
      push]
    end
end

diameter 发表于 2011-6-30 22:11:02

还是把Malical写的3DFP贴出来

l5h5t7 发表于 2011-7-1 09:12:22

……有点像Pascal,算了,顶一下。
尽管我不太喜欢Pascal。

ftt 发表于 2011-7-1 12:11:06

希望能够加入程序加密功能

ftt 发表于 2011-7-1 12:11:51

根据数组的定义,可以很轻松的构造矩阵
var
a = {}
i = 0
j = 0
while i
diameter 发表于 2011-6-30 22:06 http://www.cncalc.org/images/common/back.gif
这还叫轻松。。。。

diameter 发表于 2011-7-1 15:03:44

……有点像Pascal,算了,顶一下。
尽管我不太喜欢Pascal。
l5h5t7 发表于 2011-7-1 09:12 http://www.cncalc.org/images/common/back.gif
不会是因为变量声明用var就觉得像Pascal吧……
Malical在内涵上应该更接近Ruby或者Lua……

l5h5t7 发表于 2011-7-1 16:20:54

7# diameter


因为要声明变量,就像Pascal。

imath 发表于 2011-7-1 18:34:49

至少要给个程序加密功能吧。不然和PROG没什么区别

l5h5t7 发表于 2011-7-2 15:36:02

9# imz


没用的,我不提倡加密,加密了也会被解密。
还有,纯文本怎么加密?

l5h5t7 发表于 2011-7-2 15:37:15

下一版本可以提供程序压缩,并可以直接运行压缩程序。

py86546539 发表于 2011-7-2 20:15:32

提点小建议。。 编程环境受到TXT编辑器的限制。。。建议改一下TXT编辑器,使之能一键输入函数命令,并丰富其中的CHART,和PRGM的CHART(有特殊符号,小字等)一样就好啦。

l5h5t7 发表于 2011-7-2 21:10:28

12# py86546539


对,就像PRGM一样。

bruce55 发表于 2011-7-3 18:07:23

7# diameter


因为要声明变量,就像Pascal。
l5h5t7 发表于 2011-7-1 16:20 http://www.cncalc.org/images/common/back.gif不会吧,要声明变量的只有Pascal一种?!

diameter 发表于 2011-7-3 18:10:15

不会吧,要声明变量的只有Pascal一种?!
bruce55 发表于 2011-7-3 18:07 http://www.cncalc.org/images/common/back.gif
静态语言都要声明变量吧……

l5h5t7 发表于 2011-7-3 18:12:53

15# diameter


BASIC不用。

ttxzb 发表于 2011-7-3 19:39:46

16# l5h5t7




Quick Basic 等等等等是不用,但是极易造成程序混乱,虽然说在最新的
Microsoft Visual Basic 2010 上允许不对变量进行声明就立即使用的开关,不过一般不允许这么做,很多脚本语言都要声明,何况面向对象编程语言呢。

不过,批处理命令不需要声明,应该是 set VaribleName 就好了。

ttxzb 发表于 2011-7-3 19:40:49

建议对UI进行优化,文件浏览器建议参照 EDIT.G1A 的源代码 进行改进。

ttxzb 发表于 2011-7-3 19:42:49

10# l5h5t7



Xor 法加密。 利用 ASCII 的特性,不过好像不支持中文。

GWHBOB 发表于 2011-7-6 20:24:15

a={[{[{}]}]["1234"]}?!!这样连type都不用了!不过效率……
希望类型冲突能友好解决
页: [1] 2
查看完整版本: [Add-in]Malical 2.15[我要专家]