分配多个变量Haskell

时间:2018-03-12 05:28:24

标签: variables haskell

有没有办法在Haskell中为多个变量分配相同的值? 例如:

h,f = 5 

2 个答案:

答案 0 :(得分:4)

没有。而且没有理由这样做。因为变量在haskell中是不可变的,所以一旦某个值绑定到某个变量,它就不会在范围内发生变化。所以,h, f = 5在haskell中没有意义。只需使用h,其中5是预期的;没有f

答案 1 :(得分:4)

Prelude> let [x, y] = replicate 2 5
Prelude> x
5
Prelude> y
5
Prelude>

您需要replicate至"重复"一个值。在这种情况下,我复制5次两次。 [x, y]表示从列表中获取xy。该列表为[5, 5]。所以,你得到x = 5y = 5

好吧,我从来没有在现实世界的Haskell中做过这样的行为,但是你得到了你想要的东西。

编辑:我们可以在Haskell中使用repeat函数和延迟评估功能。感谢luqui

Prelude> let x:y:_ = repeat 5
Prelude> x
5
Prelude> y
5
Prelude>