學習軌道
/
Unison
Unison
/
練習
/
括號配對
括號配對

括號配對

困難

簡介

你得到了一個機會,可以為 Bracketeer™ 撰寫軟體,那是一台古老卻強大的大型主機。 它上面執行的軟體是用一種專有語言寫成的。 這門語言的語法大部分你都很熟悉,但你會注意到_好多_方括號、大括號和小括號。 Bracketeer™ 雖然強大,卻缺乏彈性。 只要原始碼裡有任何未成對的方括號、大括號或小括號,Bracketeer™ 就會當機,必須重新開機。 為了避免這種情況,你開始寫一段程式,在把程式碼放上 Bracketeer™ 執行之前,先確認方括號、大括號和小括號是否成對。

說明

給定一個包含方括號 []、大括號 {}、小括號 () 或這些字元任意組合的字串,請確認所有成對的括號是否都正確配對並正確巢狀。其他字元都應該忽略。舉例來說,"{what is (42)}?" 是配對正確的,而 "[text}" 則不是。

實作

完成這個練習有很多種方法,不過我們額外提供了一些函式骨架,給想練習撰寫自己的能力處理常式的人。

這個練習提供的checkBalance輔助函式簽章使用了能力需求{Stack}。 能力Stack已經為你定義好了,但處理常式Stack.run還沒! 如果你選擇這麼做,也可以實作Stack.run、checkBalance和isPaired函式。 即使你選擇不使用能力來實作這個練習,測試仍然會執行。


出處

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

準備好開始 括號配對 了嗎?

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