在本機安裝 Pharo

了解如何在本機安裝 Pharo,在自己的電腦上解 Exercism 的練習


安裝

安裝 Pharo 最簡單的方法,就是在終端機命令列使用 zero conf 下載。
注意:如果你想升級既有的安裝,請參閱升級說明。

沒有安裝 UNIX 風格 shell 的 Windows 使用者,請直接跳到下方的 Windows 安裝 說明。
比較進階的 Linux 使用者則可以參考 Linux Hackers Installation。

Linux/OSX 安裝

在 Linux/OSX 上(假設你已經安裝好 Exercism,也加入了 Pharo 學習軌道),請切換到你的/Exercism/pharo-smalltalk目錄,然後輸入:

curl https://get.pharo.org/64/ | bash

接著貼上下面這段「載入腳本」,就能啟動內建 Exercism 工具的 Pharo:

./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.
"

如果你在載入工具時遇到任何 TIMEOUT 問題,應該先結束 Pharo,然後輸入以下指令清除 git 快取:

rm -rf pharo-local/iceberg/

然後重複上面 ./pharo-ui ... 的範例。

如果問題仍然存在,請造訪 Pharo Community 頁面上介紹的 Pharo Discord 頻道。

如果一切正常,你應該會看到載入進度列在螢幕上閃過,接著出現一個 System Browser 視窗。

小提示: 要結束 Pharo 時,記得儲存你的變更(打開 Pharo 選單,選擇「Save and Quit」)。 之後只要輸入下面這行,就能啟動已經載入 Exercism 的 Pharo:

./pharo-ui Pharo.image

Windows 安裝(OSX/Linux 可略過)

我們還在研究 Windows 上最合適的命令列工具前置需求,不過你也可以用 Windows Pharo Launcher 以圖形介面安裝 Pharo(這是管理多個 Pharo image 的方便工具)。如果你偏好圖形介面,這個啟動器在 OSX 和 Linux 上也可以下載。

  1. 執行下載的 .msi 檔案,安裝 Pharo Launcher。

  2. 執行 Pharo Launcher。

  3. 在左上角點選「New」。

  4. 在視窗中,從範本分類裡選擇「Official distributions」。

  5. 針對 Exercism 練習,從 Pharo image 範本清單中選擇最新的穩定版(目前建議使用「Pharo 10.0 64-bit (stable)」)。

  6. 點一下 image 範本讓它反白,替它取個名字,然後點選底部的建立 image 按鈕(橘色齒輪圖示)。
    從啟動器建立 image

  7. 範本下載完成後,會出現在右側的 Existing Images 表格中。點選它,然後點一下上方的啟動按鈕(綠色的 play 箭頭)。
    啟動 image

  8. Pharo image 啟動後,從 Browse 選單中選擇 Playground 來開啟 Playground,或使用 ctrl + o + w。
    開啟 Playground

  9. 最後,把下面這段程式碼複製貼上到 Playground:

Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.

然後把貼上的程式碼整段選取起來,按滑鼠右鍵,從選單中選擇 Do it 來執行它(或使用 ctrl + d)。

如果一切正常,你應該會看到載入進度列在螢幕上閃過,接著出現一個 System Browser 視窗。

開始使用(所有人)

啟動 Pharo 後,你會看到 System Browser 裡有一個 Welcome 專案(小提示: 如果不小心關掉這個視窗,可以從 Tools|System Browser 選單重新開啟一個)。

Pharo 歡迎畫面

System Browser 左上方的主面板會顯示你環境中的套件,你會發現安裝腳本已經設定好一個叫做 Exercism 的套件,裡面有一個叫做 Welcome 的子專案標籤。第二個面板顯示的是類別,其中也有一個叫做 Welcome 的類別。類別面板下方有 4 個選項按鈕:「Flat」(顯示套件中的類別)、「Hier.」(顯示類別繼承階層)、「Inst. side」(顯示實體方法)、「Class side」(顯示類別方法/建構子)。

如果你點選 Comment 分頁,就能看到使用 Pharo Exercism 的最新說明。讀一讀這些內容,然後試著執行你的第一個測試。

如果是其他以檔案為基礎的語言,通常這時候你會切換到終端機,用 Exercism CLI 取得下一個練習。Pharo 雖然也能用類似的方式處理檔案,但這個環境其實是為了操作活生生的物件而設計的。有趣的是,類別、方法和原始碼在 Pharo 裡就跟其他東西一樣,全都是物件。在這條學習軌道上,你會慢慢認識更多。

載入練習

針對 Exercism,我們加入了一個外掛,讓你可以直接在 IDE 裡取得並提交 Pharo 練習。 你只要在練習套件上按滑鼠右鍵(在這裡就是左上角面板的 Welcome 套件),然後選擇 Exercism | Fetch Exercise 選單項目即可。這時會請你輸入練習名稱(例如 hello-world),輸入後就會自動幫你取得。

練習名稱可以在你的 Pharo 學習軌道 頁面上,每個練習說明的右側找到。 那裡有一行 Download 指示,附帶一段包含各練習 key 的 CLI 指令字串。你也可以使用 CLI 指示旁的複製按鈕,把整串字串貼進取得練習的提示中(我們會自動擷取出 key)。

輸入有效的練習後,外掛會取得相關程式碼並顯示在 System Browser 中,讓你開始透過測試來寫程式。

當所有測試都通過後,你可以用練習套件上同一個右鍵選單來提交你的解答(在套件標籤上按滑鼠右鍵,選擇 Exercism | Submit Exercise...)

Exercism 提交選單

最後,用 Exercism | View Track Progress 選單前往 Exercism 網站,看看還有哪些練習已經為你解鎖,也可以張貼關於你提交內容的問題,讓導師閱讀。


你知道嗎: 當你啟動 Pharo 時,其實是在還原一份執行 image 快照,類似 VMWare 的作業系統映像檔。這是個很強大的概念,讓你能在工作中途暫停,甚至是在除錯的時候。下次重新啟動 Pharo 時,你就能在還原的除錯器中繼續逐步執行程式碼,或是繼續進行重構。

如何重設你的 CLI 權杖

如果你因為安全問題需要重設 CLI 權杖,請前往你的 Exercism 設定頁面, 使用重設權杖的按鈕。完成後,你需要在 Pharo Exercism 中清除舊權杖,方法是在 Playground 裡執行以下程式碼:

ExercismHttpClient
    reset;
    promptForToken.

如何升級 Pharo Exercism

我們有時會需要你更新 Pharo Exercism image 中的程式庫。請依照這些說明操作。