假设我在F#中有以下代码: let rec all_numbers_from k = yield!all_numbers_from (k+1) 这段代码可以调用为all_numbers_from 0,生成从0到无穷大的所有数字。我知道Python也有一个yield关键字,它看起来很像F#的yield操作符,我的问题是,是不是也有一些与F#的yield
我在阅读这篇关于python中的async和await的时,看到了以下示例代码: # Returning the yield lets the value thatreturn (yield 42)
return (yield from bottom())
return (yield from我可以理解返回42的链式生成器,但我似乎不能理解gen.
我可以这样做: [ for i in 0 .. 5 -> i ] 或 [ for i in 0 .. 5 do i ] 但是,虽然我可以这样做: [ for i in 0 .. 5 do yield![i * 4; i] ] 我不能这么做: [ for i in 0 .. 5 -> yield! [i * 4; i] ] 为什么会这样呢?这两者是如何区别对待的?