Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 类型播放器和数据播放器之间有什么不同?_Variables_Haskell_Types_Record - Fatal编程技术网

Variables 类型播放器和数据播放器之间有什么不同?

Variables 类型播放器和数据播放器之间有什么不同?,variables,haskell,types,record,Variables,Haskell,Types,Record,以下两者之间的区别是什么: A: B: 我什么时候使用每一个 type Player = (String, Int) 为类型字符串创建一个新名称Int。这不是一件非常有用的事情。玩家可能会对任何这样的一对感到困惑,而类型系统不会捕捉到错误。为不适用于字符串、对的播放器编写类实例是不可能的 创建一个全新的类型Player,其构造函数Player有两个命名字段。这是一件有用的事情 我给初学者的建议是:不要麻烦打字。它与某些高级语言功能结合在一起非常有用,而且从来都不是很令人兴奋 为类型字符串创建一

以下两者之间的区别是什么:

A:

B:

我什么时候使用每一个

type Player = (String, Int)
为类型字符串创建一个新名称Int。这不是一件非常有用的事情。玩家可能会对任何这样的一对感到困惑,而类型系统不会捕捉到错误。为不适用于字符串、对的播放器编写类实例是不可能的

创建一个全新的类型Player,其构造函数Player有两个命名字段。这是一件有用的事情

我给初学者的建议是:不要麻烦打字。它与某些高级语言功能结合在一起非常有用,而且从来都不是很令人兴奋

为类型字符串创建一个新名称Int。这不是一件非常有用的事情。玩家可能会对任何这样的一对感到困惑,而类型系统不会捕捉到错误。为不适用于字符串、对的播放器编写类实例是不可能的

创建一个全新的类型Player,其构造函数Player有两个命名字段。这是一件有用的事情

我给初学者的建议是:不要麻烦打字。它与某些高级语言功能结合在一起非常有用,而且从来都不是很令人兴奋。

type是type的同义词。因此,您不需要创建一个新类型,只需给String,Int一个额外的名称。其中数据创建一个新类型。类型是类型同义词。因此,您不需要创建一个新类型,只需给String,Int一个额外的名称。其中数据创建了一个新类型。
data Player = Player { name :: String
                      , number :: Int
                      }
type Player = (String, Int)
data Player = Player { name :: String
                      , number :: Int
                      }