> # A generator statement creates a generator factory. The
> # following generator yields two times and then returns `"c"`:
> generate_abc <- generator(function() {
+ yield("a")
+ yield("b")
+ "c"
+ })
>
> # Or equivalently:
> generate_abc <- generator(function() {
+ for (x in letters[1:3]) {
+ yield(x)
+ }
+ })
>
> # The factory creates generator instances. They are iterators
> # that you can call successively to obtain new values:
> abc <- generate_abc()
> abc()
[1] "a"
> abc()
[1] "b"
>
> # Once a generator has returned it keeps returning `exhausted()`.
> # This signals to its caller that new values can no longer be
> # produced. The generator is exhausted:
> abc()
[1] "c"
> abc()
exhausted
>
> # You can only exhaust a generator once but you can always create
> # new ones from a factory:
> abc <- generate_abc()
> abc()
[1] "a"
>
>
> # As generators implement the coro iteration protocol, you can use
> # coro tools like `loop()`. It makes it possible to loop over
> # iterators with `for` expressions:
> loop(for (x in abc) print(x))
[1] "b"
[1] "c"
>
> # To gather values of an iterator in a list, use `collect()`. Pass
> # the `n` argument to collect that number of elements from a
> # generator:
> abc <- generate_abc()
> collect(abc, 1)
[[1]]
[1] "a"
>
> # Or drain all remaining elements:
> collect(abc)
[[1]]
[1] "b"
[[2]]
[1] "c"
>
>
> # coro provides a short syntax `gen()` for creating one-off
> # generator _instances_. It is handy to adapt existing iterators:
> numbers <- 1:10
> odds <- gen(for (x in numbers) if (x %% 2 != 0) yield(x))
> squares <- gen(for (x in odds) yield(x^2))
> greetings <- gen(for (x in squares) yield(paste("Hey", x)))
>
> collect(greetings)
[[1]]
[1] "Hey 1"
[[2]]
[1] "Hey 9"
[[3]]
[1] "Hey 25"
[[4]]
[1] "Hey 49"
[[5]]
[1] "Hey 81"
>
>
> # Arguments passed to generator instances are returned from the
> # `yield()` statement on reentry:
> new_tally <- generator(function() {
+ count <- 0
+ while (TRUE) {
+ i <- yield(count)
+ count <- count + i
+ }
+ })
> tally <- new_tally()
> tally(1)
[1] 0
> tally(2)
[1] 2
> tally(10)
[1] 12
我无意中读到一篇文章,其中有一句话让我很吃惊。预测器、响应和残差:什么是真正需要的正态分布?
关于线性回归的段落让人觉得作者是一个不熟悉理论家/统计学的人。LR假设的标准变体--输入是确定性的(例如时间时刻),输出分布取决于噪声分布(每个输出的期望值取决于输入,并与其他输出不同)。
另一个变体--如果输入和输出来自某种联合分布,那么线性回归模型的适用条件就更严格了--JUNICIPAL(至少是双变量)分布必须是正态。如果没有这个假设,你可以忘记MOC。
我无意中读到一篇文章,其中有一个令人惊讶的说法。预测器、响应和残差:什么真正需要正态分布?
几句引言。
"许多科学家关心统计分析中变量的正态性或非正态性。 人们经常表达、发表或教授以下和类似的观点。
由于网络对数据的规范化、正态分布和一堆调整的要求,我改用树状系统。他们会记住数据的原貌。
而在人工智能的名称(在一篇为普通人写的文章中)为基于神经网络或树的数据库后,开始把它们完全当作数据库,在一个单元格(列表)中可以存储多个非常相似的行,即在同一时间和总结。通过将树划分到最后一个例子,单元格将只包含相同的行,而没有泛化 - 即你将得到一个纯粹的数据库。我们仍然需要归纳,所以我们提前停止分叶。
这不是关于打印,而是关于生成器和迭代器。
弗拉基米尔,你能解释一下#23667 吗?
如果这个包可以在不改变代码的情况下加速我的代码,这对我来说是非常有趣的,请给我一个工作实例。
弗拉基米尔,你能给我一个关于#23667 的解释吗?
如果这个包可以在不改变代码的情况下加速我的代码,这对我来说是非常有趣的,请给我一个工作实例。
包里有很多的例子。你找不到它吗?见
这不是关于 生成器和迭代器。
真的吗?))
你是否打算在未来发表一篇关于基于MO的货币对交易的 新文章?
你是否打算在未来发表一篇关于基于MO的货币对交易的 新文章?
是的,还没有时间。文章花了很多时间来思考他们的计划,然后进行编程。
是的,还没有时间。文章花了很多时间来思考他们的计划,然后进行编程。
我不知道我是否可以根据这个策略,在Python中直接添加开单的脚本。
那么你能不能在文章中加入一个使用这个策略在Python中直接开单的脚本?
是的,你可以。但作为一个专家顾问,它更方便。
是的,这可以做到。但作为一个顾问,这更方便,不是吗?