考虑以下代码段
IO
现在,这可以达到预期的效果,但并不理想,因为这是一种不安全的操作。
我想重构代码,以便第二行(而不是返回字符串)返回将创建字符串的ul.tree li span {
position: absolute;
left: -6px;
top: 5px;
display: inline-block;
width:10px;
height: 10px;
background-color: red;
border-radius: 5px;
}
。
答案 0 :(得分:2)
那么理解的错误是什么?
(1 to 2).foldLeft(IO("Read this: "))((c, i) =>
for {
cc <- c
smt <- sayManyTimes("mayo")
} yield cc + smt)
您还可以手动展开for-comprehension:
(1 to 2).foldLeft(IO("Read this: ")){ (c, _) =>
c.flatMap(cc =>
sayManyTimes("mayo").map(cc + _)
)
}