在榆树,当我想不通type
的是适当的关键字对type alias
。该文档似乎没有对此的解释,我也无法在发行说明中找到它。这是否记录在某处?
我如何看待它:
type
用于定义新的联合类型:
type Thing = Something | SomethingElse
在此定义之前Something
,SomethingElse
并没有任何意义。现在它们都是Thing
我们刚刚定义的type 。
type alias
用于给已经存在的其他类型命名:
type alias Location = { lat:Int, long:Int }
{ lat = 5, long = 10 }
具有type { lat:Int, long:Int }
,它已经是有效的类型。但是现在我们也可以说它具有类型,Location
因为这是同一类型的别名。
值得一提的是,以下内容将很好地编译和显示"thing"
。即使我们指定thing
为aString
并aliasedStringIdentity
采用一个AliasedString
,我们也不会收到String
/之间类型不匹配的错误AliasedString
:
import Graphics.Element exposing (show)
type alias AliasedString = String
aliasedStringIdentity: AliasedString -> AliasedString
aliasedStringIdentity s = s
thing : String
thing = "thing"
main =
show <| aliasedStringIdentity thing
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句