所以我想明白Haskell do
表示法的工作原理。 我知道它與單子一起使用,它基本上擴展(因爲它實際上是語法糖)到與綁定(>>=
)或(>>
)連接的匿名函數中,如https://en.wikibooks.org/wiki/Haskell/Syntactic_sugar#Do_notation所示。Haskell:'do [1,2,3]; [「你好」]'行爲澄清
然而我的問題是爲什麼下面的命令
Prelude> do [1, 2, 3]; "hello"
回報
"hellohellohello"
我知道,數組實際上是單子(以及字符串是字符數組),但我看不到這是如何導致上述行爲的。
此外,正確的術語是「列表」,因爲「數組」通常被理解爲在內存中連續排列。 –
'do x < - [「baby,」,「darling」,「ragtime gal」]; 「你好我的」++ x' –