data MoneyAmount = Amount Float Currency
deriving (Show, Eq)
data Currency = EUR | GBP | USD | CHF
deriving (Show, Eq)
type Account = (Integer, MoneyAmount)
putAmount :: MoneyAmount -> Account -> Account
putAmount mon acc = undefined
Run Code Online (Sandbox Code Playgroud)
我需要编写一个为账户增加资金的功能(如果增加的钱是账户中的错误货币,则显示错误).
我知道如何创建金额
let moni = Amount 6.6 EUR
Run Code Online (Sandbox Code Playgroud)
但我不知道写什么来创建一个帐户?(我希望句子有意义)我不知道如何操纵输入来做整个添加帐户的事情.
我尝试过类似的东西
let acc = Account 1 moni
Run Code Online (Sandbox Code Playgroud)
我的问题是如何操纵帐户,以便我可以编写该功能.
type创建一个类型同义词 ; an Account与an 完全相同(Integer, MoneyAmount),你用同样的方式写它:
let acc = (1, moni)
Run Code Online (Sandbox Code Playgroud)