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。
March 14, 2025
March 14, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 12, 2025
March 12, 2025