這個答案是對LightTable 0.2。 0。我還沒有嘗試過新的0.3.0。
嘗試並選擇LightTable和Quil是非常合理的。我認爲這種痛苦主要是由於雞和雞蛋的問題。
- LightTable假定一些Clojure的知識(至少對於項目管理),並沒有提供一個「標準」 REPL,而是一個試驗檯的工作更加互動的風格。
- Quil假設在標準clojure repl環境中很舒適,並且包裝了一個底層java項目(Processing)的很多複雜性。
- Quil的全部目的是產生「副作用」(整個其他圖形顯示),LightTable試圖幫助您處理函數及其返回值,而不是函數的副作用。
如果連接到quil作爲項目,打開example2.clj並執行它(Ctrl Shift Enter)並獲得淺藍色「無」 - 恭喜你有一個工作系統! (至少我可以複製完全相同的行爲,並且該示例似乎可行)。
第一次這樣做,可能需要一段時間LightTable下載所有奎爾的依賴關係(也許爲什麼LightTable出現掛 - 或者輕表和奎爾有一個互動的錯誤,我還沒有觸發。)
「nil」是Light Table執行文件(在正在運行的項目的上下文中)產生的返回值(請參閱腳註)。某處(可能隱藏在全屏幕Light Table的背後)應該創建一個新窗口,並運行示例。
執行automata.clj的「java.lang.Math」值也與我所看到的一致。 這裏的訣竅是生成一個defsketch
的調用,其中example2.clj做了內聯,但automata.clj沒有。
執行文件自動後:
您可以通過調用函數run-rule
創建草圖。CLJ(得到所有加載的功能定義)以下行添加到編輯器中的文件的末尾:
(run-rule 101 {:width 100 :height 100 :scale 4})
將光標收盤括號後,執行用Ctrl-輸入單一形式。再次,一個新窗口(可能隱藏在其他窗口後面 - 嘗試使用Alt-Tab切換任務)應該打開運行自動機演示。
通過連接到奎爾項目輕表和automata.clj已經評價你也可以通過打開「instarepl」和打字獲得同樣的效果:
(clj-automata.core/run-rule 101
{:width 100 :height 100
:scale 4})
嘗試編輯的價值觀,看會發生什麼。 (再次奎爾的整個本性副作用的讓這個不那麼優雅的LightTable,但它似乎工作。)
腳註:
我不是很熟悉LightTable。我本來希望淺藍色是評估文件中最後一個格式的結果,但這似乎並非如此。在最後一行使用Cntl-Enter顯示「#'example2/example2」not「nil」。 我對Quil也不是很熟悉,defsketch
是宏不是常規函數,所以也許這是與LightTable以奇怪的方式進行交互。
我不認識的人,我們應該原諒他是新人嗎?畢竟,我們其他人從無知到完全掌握,當然現在知道一切。就個人而言,當一個全新的視角進入時,我無法忍受,尤其是在一個有趣且精心設計的問題中! – 2013-02-25 00:26:12