我是哈斯克爾的新手,今天我試圖用Haskell製作一個計算器(就像大多數人在學習一門新語言來獲取if語句時所做的一樣),而我在使用字符串值時遇到問題。我想檢查用戶寫的字符串是否爲「加號」(不帶「」),但如果我沒有引號(因此看起來像if op == plus
),它不會將其識別爲字符串並輸出錯誤但如果另一方面我使用引號(所以它看起來像這樣的if op == "plus"
),那麼它會用引號查找字符串「plus」,我怎樣才能將一個字符串與不帶引號的值進行比較?如何比較字符串與價值不帶引號
情況1:
calculate x op y = do
if op == "plus"
then x+y
else x
結果:在調用函數時,因此,如果當調用該函數是例如「1加3」的輸入,它會給出一個錯誤的程序尋找「加」的「:67:13:錯誤:變量不在範圍內:加:: [字符]
案例2:
calculate x op y = do
if op == plus
then x+y
else x
結果:當試圖加載程序出現錯誤「test.hs :2:33:錯誤:變量不在範圍:加 失敗,模塊加載:無。「,所以我不能嘗試顯然調用該函數。
請分享[mcve]。 – bereal
除了@貝瑞爾的筆記,歡迎使用堆棧溢出!我知道你已經參加了[巡演]了,所以我只會將你鏈接到[幫助],並且還會鏈接到[問]上的文章。 – Delioth
@bereal將其添加到帖子 Delioth非常感謝您的幫助和善良的態度,我一定會讀它 – OreOS