yield 相关问题

yield是(1)有助于创建生成器函数的关键字,(2)用于将控制从一个协程转移到另一个协同程序的Ruby语句

函数中的提前返回和yield

我不确定使用yield关键字时在函数中提前返回的正确方法是什么。 是“return void”返回;正确的返回值?因为返回类型指定为ite...

回答 1 投票 0

如何仅生成新生成的文本

我有一个在后台使用 RAG 管道的 Flask 应用程序,并且我从 vLLM 流式传输响应。我目前正在使用一个函数来解析并生成流式 JSON 响应。然而,我...

回答 1 投票 0

确保生成器函数内的连接被调用者关闭[关闭]

今天,在编程时,我发现自己在生成器函数内管理资源(ssh 连接),类似于以下内容: #我决定使用生成器来避免循环...

回答 1 投票 0

在生成器函数内处理上下文管理器[关闭]

今天,在编程时,我发现自己在生成器函数内管理资源(ssh 连接),类似于以下内容: #我决定使用生成器来避免循环...

回答 1 投票 0

在 Python 生成器中使用“with”语句管理资源

今天,在编程时,我发现自己在生成器函数内管理资源(ssh 连接),类似于以下内容: def _yield_fname(主机地址,usr,密码,数据路径): ...

回答 1 投票 0

使用 Python 生成器内的语句管理资源

今天,在编程时,我发现自己在生成器函数内管理资源(ssh 连接),类似于以下内容: def _yield_fname(主机地址,usr,密码,数据路径): ...

回答 1 投票 0

在 python 生成器中使用 with 语句管理资源

今天在编程时,我发现自己在生成器函数内管理资源(ssh 连接),类似于以下内容: def _yield_fname(主机地址,usr,密码,数据路径): ...

回答 1 投票 0

C# 中在没有同步上下文的情况下推迟任务执行的最简单方法

在 C# 中的异步方法中,我需要推迟执行(将执行返回给调用者),并在继续执行之前清除同步上下文。 该声明...

回答 2 投票 0

C# 中在没有同步上下文的情况下推迟任务执行的最佳方法

在 C# 中的异步方法中,我需要推迟执行(将执行返回给调用者),并在继续执行之前清除同步上下文。 该声明&...

回答 1 投票 0

flask-smorest 的流响应问题

我在 Flask-smorest 中的流响应中遇到问题。我遵循此处的指导 - https://flask.palletsprojects.com/en/2.3.x/patterns/streaming/ 从我的烧瓶中传输响应 -

回答 1 投票 0

pytest 夹具_cleanup_data 未打印预期消息(不要运行清理部分)

我的 Python 代码中的 pytest 装置遇到问题。夹具应该在清理测试数据后打印一条消息,但该消息没有被打印。我检查了代码并且...

回答 1 投票 0

Python、Tkinter:对生成器内的函数应用延迟

我正在 python tkinter 中制作一个应用程序来可视化算法。我想对quick_sort内部调用的函数partition()应用延迟(window.after())。 window.after() 似乎只是

回答 1 投票 0

将带有yield(string)的python函数翻译为C++

我正在将Python函数翻译成C++函数;这个函数使用了一个yield(string)语句,我不知道如何翻译。 整个故事在这里......我有一个特定的函数可以读取

回答 5 投票 0

无效的产量,Ruby 中的语法错误

我绝对不是开发人员,但我正在尝试让这个废弃的应用程序正常工作 这是名为layout.erb的文件中的代码,该文件是HTML <%= yield %&... 我绝对不是开发人员,但我正在尝试让这个废弃的应用程序正常工作 这是名为layout.erb的文件中的代码,该文件是HTML <div class="container"> <%= yield %> </div> 它抛出此错误: 语法错误 - /wallop/app/views/layout.erb:53:无效产量: 我知道他们正在使用 Bootstrap,并且“yield”是 Ruby 中的一个特殊术语,% 应该打印和评估代码——我明白了,我只是不明白为什么它会出错。 这个应用程序是很久以前编写的并被放弃了,开发人员继续前进并制作了它的商业版本,因此他们对帮助更新旧源不感兴趣,我或多或少有兴趣修改它,以便我可以自学 Docker 和其他一些东西。 我没有尝试任何东西,只是研究了错误 我认为这可能与以下事实有关:这是一个旧应用程序,它是用 Ruby 2 编写的,而我正在运行 Ruby 3,但这只是一个猜测。 更新: 这是完全相同的问题,该应用程序也使用 Sinatra / Thin: https://github.com/mocdaniel/dashing-icinga2/issues/121 他们通过恢复到旧的 Ruby 版本来修复它,但我不确定我是否能够轻松做到这一点 我正在使用 alpine:latest,然后从存储库中运行 apk add ruby-json ruby-dev 和 ruby-bundler,它正在获取最新版本…我不太了解 alpine 或 Docker,无法指定如何获取旧版本版本,我不想手动编译和安装它们。 修复代码以使用 Ruby 3 实际上可能更容易。 首先,是的,如果应用程序是用 Ruby 2.x 编写的,您应该尝试使用相同的 Ruby 版本来设置它。 如果没有更多背景信息,很难说出问题的根本原因是什么。也许布局中有多个未命名的 yield 语句?您可以在文档中阅读有关布局和渲染的更多信息 - https://guides.rubyonrails.org/layouts_and_rendering.html#understanding-yield 我想通了。我怀疑这个问题与 Ruby 3.x 破坏应用程序有关。由于我不是开发人员,最简单的解决方法是不使用 Ruby 3.x。 该应用程序使用像 Thin 和 Sinatra 这样的 gem,由于某种原因,它们在 Ruby 3.x 中被破坏了。 我能够搜索 alpine repo 网站,发现使用 FROM alpine:3.14 的 Docker 基础镜像提取 Ruby 2.7.6 软件包(而不是提取 Ruby 3.x 软件包的 alpine:latest),这解决了问题. 当我将运行某些 ruby 2.5 变体的 sinatra 应用程序更新到 3.1 时,我最终通过运行以下命令修复了语法错误: bundle update --conservative sinatra 基于此答案 这将我的 Gemfile 对 sinatra 的依赖从 1.X 升级到了 4.0

回答 3 投票 0

PLINQ 延迟执行

我试图了解在延迟执行的情况下并行性如何使用 PLINQ 工作。这是一个简单的例子。 string[]words = { "相信", "收据", "救济", "田野" }; 布尔结果 = 单词。

回答 1 投票 0

为什么我不能将yield与return一起使用?

我希望您考虑以下代码: def 函数(列表): 如果 len(alist) == 1: 返回参数 * 2 对于列表中的项目: 产量项 * 2 当我运行它时,我收到此错误:

回答 5 投票 0

条件“产量”的令人惊讶的结果[重复]

我有以下使用yield的Python代码: def foo(arg): 如果参数: 产量-1 别的: 返回范围(5) 具体来说,foo() 方法应迭代单个值 (-1) if ...

回答 1 投票 0

如何使用 pytest 夹具产量清理剩余物?

目前,如果测试因任何原因失败,则在 AWS 服务目录(SC)中创建的对象可以在测试完成后保留在那里,因为所有失败的断言都会停止脚本,因此请清理几行...

回答 1 投票 0

为什么Python关键字yield会让我的程序永远运行?

def square(): 对于范围 (4) 内的 x: 产量 x ** 2 square_gen = 平方() 对于 square_gen 中的 x: 打印(x,结束=“”) 上面的代码是我在Pycharm中写的。当我运行代码时,我得到

回答 1 投票 0

F# 产量! (yieldbang) 运算符

我现在正在学习 F#,但我很难理解这一点: 让所有素数= 让rec allPrimes' n = 序列{ 如果是质数 n 那么 产量 n 屈服!所有Prim...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.