【发布时间】:2016-07-25 16:45:24
【问题描述】:
操作>>说明如下:
依次组合两个动作,丢弃由 首先,像命令式中的排序运算符(例如分号) 语言。
这是一个让我困惑的例子:
> ([1] ++ [2]) >> ([2] ++ [3])
[2,3,2,3]
我期待列表 [2,3] 是表达式右侧的结果。 [2,3,2,3]的结果如何解释?
【问题讨论】:
-
(>>)丢弃了 值1和2,但这并不意味着x >> y === y... -
通过更简单的示例,我得到了我的预期:[1] >> [2] 结果 [2]
-
尝试不同类型的理解。例如。
[1,2] >> ['a'] -
@Scipio 我并没有说不可能找到
x和y这样x >> y === y,只是这样的陈述并非对所有x和y都是正确的. -
就像@pdexter 说的那样,使用不同的值有助于理解下面的解释。例如。 this in ghci ([1,2] :: [Int]) >> ["a","b"] 给你 ["a","b","a","b"]