![]() |
1
10
Ruby中有一个成语:
但是,如果您的“长时间运行的实用程序”可能返回一个错误的值(false或nil),则该习惯用法存在问题,因为
不要试图通过先设置@something\u计算变量,然后再运行calculate\u来保存一行代码。如果您的calculate函数引发异常,您的函数将始终返回nil,并且永远不会再次调用calculate。
更一般地说,在Ruby中,您使用实例变量。但是请注意,它们在给定对象的所有方法中都是可见的-它们不是该方法的本地方法。
如果需要由所有实例共享的变量,请在类对象和每个实例调用中定义方法。
|
![]() |
2
4
“记忆宝石”在这里可能很好。当您记住一个方法时,它被调用不超过一次:
|
![]() |
3
1
而且,嗯,如果您希望它在调用时运行shell命令 直到成功 ,您可以尝试:
|
![]() |
4
1
|
![]() |
5
1
与此线程中的其他解决方案不同,此解决方案不要求您保留任何状态: 获取方法以在调用后移除自身或用空方法覆盖自身:
或:
|
![]() |
6
0
确保shell命令只运行一次是一种循环模式。我编写的一个解决方案是,在命令行上对输入文件进行校验和,并且仅在shell命令以前未运行时执行该校验和。当输入文件发生更改时,它也会再次执行。见 https://github.com/pjotrp/once-only 只需在shell命令前面加一次'only'即可使用它。例如。
变成
对于PBS,添加--PBS开关。 |
![]() |
Stilian · 存储库设置中没有Github页面部分 2 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 2 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
![]() |
johncssjs · 将数组转换为每个元素的嵌套哈希 2 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 2 年前 |