apl

    1熱度

    2回答

    我目前正在爲APL編寫C++程序。到目前爲止,我一直在做的是在APL中創建一個函數,該函數運行命令提示符並調用可執行文件,並將輸入和輸出文件創建爲參數,然後將C++可執行文件編程爲打開輸入文件,讀取輸入並將輸出存儲在輸出文件中,輸出文件由APL函數提取並存儲在一個或多個變量中。這種方法的問題是,當我使用更簡單的函數時,這些函數會被稱爲很多或者有時是遞歸的,所以打開和關閉文件以進行簡單的計算需要大量

    2熱度

    1回答

    我有這樣簡單的d-FN在Dyalog: {⍺,≢⍵} ⌸ 'koala' ,它返回: k 1 o 1 a 2 l 1 欲從所得陣列過濾行,從而使(例如,爲過濾器值= 2),我會得到: a 2 l 1 一般來說,我想了解如何在APL中的2D陣列的第n列上操作。

    3熱度

    3回答

    APL中是否存在行繼續字符,即表示輸入尚未完成並繼續解析下一行的字符? 我之所以希望它是輸入以類似於其形狀的格式,例如,一個陣列,而不是: Forecast ← 4 6 ⍴ 150 200 100 80 80 80 300 330 360 400 500 520 100 250 350 380 400 450 50 120 220 300 320 350 我想寫(其中\是假想延續字符): Fo

    2熱度

    2回答

    最近,我一直試圖進入APL。然而,我遇到過的一個問題是向矢量賦值。 對於某些我打算獲得多個結果的程序(例如,將一個字符或一串字母轉換爲8位二進制向量的程序),我試着做一個forhift for循環,然後分配具有正確值的範圍向量的第i部分。例如,與煤焦>倉矢量的程序: r = 8[rho]' ' (creates a vector of length 8 with only blank spaces

    2熱度

    1回答

    首先,一些代碼: A ← 2 2 2 ⍴ ⍳8 A 0 1 2 3 4 5 6 7 ⊂[0]A 0 4 1 5 2 6 3 7 我可以想像在第一軸線包圍來表示子分片上其深度陣列,得到[[0 1][2 3]] & [[4 5][6 7]]或我可以看到它意義上的列的子分片,得到[[0 2][4 6]] & [[1 3][5 7]]。但當然它也沒有。 (⊂[1]A做第二次,什麼操

    1熱度

    1回答

    請注意,我正在使用Dyalog APL進行以下操作。 考慮: S←'string' S string ⍴S 6 ⍴⍴S 1 DISPLAY S ┌→─────┐ │string│ └──────┘ 如果我執行與串聯的減少,我得到一個標量: S_←,/S S_ string ⍴S_ ⍴⍴S_

    4熱度

    5回答

    有沒有辦法在APL中創建一個不需要循環或流量控制的單線程斐波那契數列? 我已經用→和一個條件測試來完成它的功能,但我覺得必須有一個更優雅的聲明方式。一個example,我發現聲稱做在一條線上不能在gnu-apl上工作 - 它似乎是在正確的軌道上,使用矩陣數學,但我很難跟隨,並且可以' t調整它正常工作。 我正在追求APL作爲我的第一個真正的編程語言(我喜歡這些符號,我只是這麼做)。我現在使用Pro

    4熱度

    3回答

    我有以下向量Vec: ACGTTGCA並希望將它分成一個嵌套向量,其中第i個位置將有一個長度爲4的Vec的子段,從Vec的第i位。 例如,Vec[(⍳¯3+⍴Vec)∘.+¯1+⍳4]回報: ACGT CGTT GTTG TTGC TGCA 但隨着上述輸出的問題是,它是一個字符矩陣,而我希望得到以下的輸出: ┌──────────────────────────┐ │┌────┬──

    2熱度

    3回答

    有沒有辦法使用HTTP進行APL會話通信?也就是說,不是使用已經內置到APL中的IDE,而是在某處啓動APL併發送諸如)load,)save,)copy,1+1,run等的請求並將回覆文本發回。感謝您的建議。

    1熱度

    1回答

    我試圖在APLX中實現快速排序,但似乎無法解決我從語句:If((ITEM COMPARE PIVOT)≤0)中持續獲得的此值錯誤。經過一些測試後,我認爲問題在於我在For循環中使用了If語句,但我不知道爲什麼這會是一個問題。這裏就是整個函數(或者說運營商),以防萬一的問題不在於此: (注比對比的是,我傳遞給快速排序比較函數) (COMPARE QSORT)ARRAY ⍝ If the array