ruby - ENV.fetch 与块或第二个参数有什么区别?
问题描述
我不确定是否:
ENV.fetch("RAILS_MAX_THREADS") { 5 }
和:
ENV.fetch("RAILS_MAX_THREADS", 5)
是否相同。有什么区别?
解决方案
不同之处在于缺少的变量名称会生成给块。
在您的示例中,结果是相同的,因为您不使用产生的字符串,但试试这个看看不同:
ENV.fetch("RAILS_MAX_THREADS", 5)
#=> 5
ENV.fetch("RAILS_MAX_THREADS") { |missing_name| "Could not find env var named " + missing_name }
#=> "Could not find env var named RAILS_MAX_THREADS"
推荐阅读
- memory-management - Julia 1.1 与 JLD HDF5 包和 Windows 中的内存释放
- php - PHP 将用户文本回显到聊天框 div 导致未定义索引错误(我的问题与 session_start(); 位置无关)
- c++ - 没有匹配的函数调用错误。将字符串推入向量
- javascript - 使用 Nodejs 和 ffmpeg 将 GIF 转换为 MP4,并将缓冲区作为输入
- python-3.x - python aiohttp响应时间慢
- java - 登录参数未使用 Volley 通过 REST 发布
- docker - 如何正确关闭这些 k8 容器?
- python - 在 QML 中显示 pandas 数据框
- python - 正则表达式用带有空白的http替换整个字符串
- java - 如何按递减顺序循环字符串?