APL 中函式向量(陣列)的語法是什么?
我嘗試了以下方法,但它們分別被解釋為 3 列火車和 2 列火車:
{1},{2}
{1} {2}
附注。順便說一下,我希望用更復雜的(并且可能命名的)函式來做到這一點,{1}上面只是例子很短。
uj5u.com熱心網友回復:
可以使用?OR( Object Representation ) 以及這樣的物件在用作運算元時隱式地重組為函式的事實來獲得函式陣列。(您也可以使用 明確地做到這一點?FX。)首先定義一些輔助運算子是最簡單的:
_Arrayify←{f←?? ? ?OR'f'}
_Apply←{2=?NC'?':? ?? ? ? ?? ?}
現在,讓我們定義一些示例函式:
A←{2×?}
B←{?÷2}
C←{-?}
我們創建一個 3 元素的函式向量,并檢查它是否確實是一個“正常”陣列:
fnArray←(A _Arrayify?)(B _Arrayify?)(C _Arrayify?)
?fnArray
3
讓我們提取第二個函式并應用它:
(2?fnArray)_Apply 10
5
我們還可以創建一個應用程式函式,因此我們可以在其上使用運算子:
Apply←{? _Apply ?}
fnArray Apply¨10
20 5 ˉ10
uj5u.com熱心網友回復:
Dyalog APL 不正式支持函式陣列,您可以通過創建具有相同名稱函式的命名空間陣列來笨拙地模擬它們。
(a←?NS?).f←2°×
(b←?NS?).f←÷°2
(c←?NS?).f←-
f←(a b c).f
f 4
8 2 ˉ4
Maria Wells 建議使用運算子來生成函式陣列
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/370011.html
上一篇:我無法將多個資料php陣列傳遞給json字串串列。"subnet_name":"[\"phpsubnet\",\"testsubnet
