7.6
您喜欢JavaScript,功能编程和Android吗?尝试操作员!
一个简单的JavaScript转录程序,以用功能语言编码看起来像另一种著名的功能编程语言(以H.开始)
只要您还安装了JQMATH(http://mathscribe.com/author/jqmath.html),可以通过单个JavaScript脚本将每次翻译集成到您的网页中,并与jquery-和Numeric JavaScript(http://wwwwwww.numericjs.com)。
像H.,运营商
*功能
*小详细
*了解二进制操作的infix符号
与H.,运营商不同
*本质上不是懒惰,但可以实现无限结构(列表,树...)
*没有类型
*如果要(+1),则不理解使用二进制运算符的部分( x-> x+1)),但请理解部分
*没有较低/上层的区别
*不考虑二进制操作的任何优先级
*不考虑'(简单的引用)作为有效的句法符号
*处于很早的阶段
关于纯度,操作员在大多数时候都可以使用不可变的变量和结构来工作,但偶尔(在交互关键字之后)可以修改某些状态(例如,HTML文档的内容,例如,请参见Demos)。
原始内置的ins:
仅 +, - ,*,/,%,==,<,>,substring,长度从JavaScript中保存,其在JavaScript中具有相同的含义(例如 +是多态)。现在,它们被视为2个参数的函数(除非一级长度和三元子字符串)。
获取方法已经成为!功能
例如:var val = obj ['black']+xs [0];变为val =(obj!“ black”)+(xs!0)
JavaScript数组在操作员中称为列表
例如:var xs = [1,2];变成XS = List()1 2()
JavaScript对象在操作员中称为地图
例如:var obj = {'red':0,'black':1};变为obj = map()“红色” 0“黑色” 1()
这些旨在不变,并且作为功能,以下功能是有效的:
beg = list()1 2 3
Next = Beg 4 5
xs =下一个6()
,最后()给出结构的末尾(第一个创建了一个新实例)。然后,对于(不可估算的)顺序定义ys =下一个7(),处理XS和YS将影响XS!5的结果(可能会相应地给出6或7)。相反,定义一个新的不变列表:ys = list()1 2 3 4 5 7()
还提供了几个有用的文档操纵fonctions:
:=,:: =,newline,value,数学,输入,按钮,互动(请参阅演示)
还可以使用几个有用的一般fonctions:
Hex2Char,Dec2Hex,Hex2dec
可以通过JavaScript关键字访问其他JavaScript组件(见下文)。
那就是原始内置的一切!
外国内置:
外国JavaScript:
操作员只知道一组很小的原始关键字和运算符,但是可以使用JavaScript关键字访问所有JavaScript功能。例如:
sqrt x = javaScript((“ Math.sqrt(“ + x) +”)”)
或者,更好
sqrt = javascript“ var fun = function(x){return Math.sqrt(x);}; fun''
或简单
sqrt = javaScript“ Math.sqrt”
外国JQMATH:
如果计算结果满足JQMATH格式(http://mathscribe.com/author/jqmath.html),则将显示为数学公式。例如
main =“ $ 355/113 $”
如果您安装脚本(由“发送JavaScript”菜单发送)和JQMATH脚本,将在屏幕上显示一个不错的分数,以及网页上。
外国数字JavaScript:
所有NumericJS函数(http://www.numericjs.com)都可以使用。例如
m = list()row1 row2()
row1 = list()2 5()
row2 = list()6 3()
确定= javaScript“ numeric.det”
main =行列式m
将返回-24。请注意,对于2个或多个变量的数字函数的定义,没有快捷方式(如上面的SQRT中)。例如,上面的前四行和
主=行列式(产品毫米)
您应该定义
product = javascript“ var fun = function(x){return函数(y){return numeric.dot(x,y);};}; fun''
为了获得576。
April 29, 2025
April 29, 2025
April 29, 2025
April 29, 2025
April 27, 2025
April 24, 2025
April 23, 2025
April 23, 2025
April 22, 2025
April 22, 2025
April 22, 2025
April 22, 2025