學習軌道
/
Roc
Roc
/
練習
/
平行字母頻率
平行字母頻率

平行字母頻率

中等

說明

使用平行運算計算多段文字中字母出現的頻率。

平行運算的重點,在於把那些也能循序完成的工作改成同時進行。 常見的例子就是計算字母出現的頻率。 請運用平行運算,計算由多段文字組成的陣列中,每個字母的總出現頻率。

平行計算字母數量

計算字母的數量,忽略大小寫與非字母的字元,並回傳一個把小寫字母對應到其數量的字典。 把字母視為 Unicode 純量值;不需要 Unicode 正規化。

使用roc-parallel 平台的pf.Parallel.map!(items, { workers, task }),以純task函式平行處理給定的items,透過多個執行緒(由workers指定)同時進行。 所有項目處理完畢後,結果會依輸入順序回傳。 你只需要編輯ParallelLetterFrequency.roc。

執行測試

與大多數其他練習不同,這個練習使用具有作用的函式。 請用roc --opt=speed parallel-letter-frequency-test.roc執行測試,而不是roc test。 Roc 程式碼回傳的任何錯誤都會由平台以和平常不同的格式回報。

你也可以去看看bank-account練習,它探討了並行的另一個面向:安全地將更新套用到共享狀態。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Roc Exercism

準備好開始 平行字母頻率 了嗎?

註冊 Exercism,透過 139 個練習 和真人引導來學習並精通 Roc,全部免費。

深入探索 平行字母頻率!

我們會探討並行與平行之間的差異,並看看 JavaScript、Go、Elixir 和 Rust 等語言採用的不同作法。