我已经得到了我认为是一个相当基本的码宏用法,其中我有一个Hash结构,其中包含多个函数之间共享的多个选项.我希望使用一个宏只是为了防止我不得不在整个地方复制这个结构,但它似乎不像那样工作.
我期望工作的是:
# @macro [new] my_hash
# @param $1 [Hash,Array<Hash>] Inputted my_hash
# @option $1 [String] :a Value for A.
# @option $1 [String] :b Value for B.
# @option $1 [String] :c Value for C.
##
# my_func does stuff
# @macro my_hash h1
def my_func h1
end
##
# other_func does stuff
# @macro my_hash h2
def other_func h2, a, b
end
Run Code Online (Sandbox Code Playgroud)
并正确记录了h1和h2.我想我已经发现至少1美元不能像那样工作而不是从函数本身,但我可以调用两个参数h1并用宏中的h1替换$ 1,我仍然没有得到我想要的.
http://rubydoc.info/docs/yard/file/docs/Tags.md#macro上的"定义简单宏"示例表明我可以这样做(注意我找到了带有@!宏的示例,有些没有但是似乎都不起作用).
关于院子我不是很了解但是这不起作用吗?有什么类似的东西,我可以做到实现我的结果?是否有一个调试功能可以解释这一点,因为院子服务器控制台没有出现错误?
谢谢
我使用 beam SDK 在 python 中编写了一个流式 Google Dataflow 管道。有文档介绍了如何在本地运行它并设置标志-runner以在数据流上运行它。
我现在正在尝试将其自动部署到 CI 管道(bitbucket 管道,但并不真正相关)。有关于如何“运行”管道的文档,但没有真正“部署”它。我测试过的命令如下所示:
python -m dataflow --runner "DataflowRunner" \
--jobName "<jobName>" \
--topic "<pub-sub-topic"" \
--project "<project>" \
--dataset "<dataset>" \
--worker_machine_type "n1-standard-2" \
--temp_location "gs://<bucket-name>/tmp/"
Run Code Online (Sandbox Code Playgroud)
这将运行该作业,但由于它是流式传输,因此它永远不会返回。它还在内部管理包装并推送到桶中。我知道如果我杀死该进程,它会继续运行,但是在 CI 服务器上设置它,以便我可以检测该进程是否真正成功,或者我只是在超时后杀死它,这是很困难的。
这看起来很荒谬,就像我遗漏了一些明显的东西,但是如何在数据流上打包并运行这个模块,以便我可以可靠地知道它是从 CI 管道部署的?
我正在研究一个使用gettext的项目,因此最终会出现很多错误结果(使用flake8),这些结果会说:
undefined name '_'
Run Code Online (Sandbox Code Playgroud)
我不想删除W802,但我想通过在syntastic解析它之前将字符串格式化来抑制这些消息.我尝试了各种组合
let g:syntastic_python_flake8_tail=' | grep -v "F821 undefined name ._."'
Run Code Online (Sandbox Code Playgroud)
我能想到,但我得到shell返回1或其他错误.
如何在不删除所有F821错误的情况下设置合成以删除这些错误?