所以我试图准确地理解 Haskelldo
符号是如何工作的。我知道它与 monads 一起使用,并且它基本上扩展(因为它实际上是语法糖)成与 bind ( >>=
) 或 then ( >>
) 连接的匿名函数,如此处所示https://en.wikibooks.org/wiki/Haskell /Syntactic_sugar#Do_notation。
但是我的问题是为什么下面的命令
Prelude> do [1, 2, 3]; "hello"
返回
"hellohellohello"
我知道数组实际上是 monad(并且字符串是字符数组),但我看不出这是如何导致上述行为的。