我有以下类型:
type Name = String
type Assignation a = Name -> a
Run Code Online (Sandbox Code Playgroud)
以及以下函数声明:
actAsig :: Assignation a -> Name -> a -> Assignation a
Run Code Online (Sandbox Code Playgroud)
此函数应返回一个new Assignation,它返回所提供的新指定值Name以及先前为其他Names 指定的值.
actAsig如果我理解的话,规范是给定的
assignation1 :: Assignation a
newName :: Name
newValue :: a
assignation2 = actAsig assignation1 newName newValue
Run Code Online (Sandbox Code Playgroud)
要求assignation2是
assignation2 name = if name == newName then newValue else assignation1 name
Run Code Online (Sandbox Code Playgroud)
所以,你可以这样写:
actAsig :: Assignation a -> Name -> a -> Assignation a
actAsig assignation1 newName newValue name =
if name == newName then newValue else assignation1 name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |