我不确定是否:
ENV.fetch("RAILS_MAX_THREADS") { 5 }
和:
ENV.fetch("RAILS_MAX_THREADS", 5)
相同或不同。有什么区别?
答案 0 :(得分:4)
区别在于缺少的变量名称会产生给该块。
在您的示例中,结果是相同的,因为您没有使用产生的字符串,但是尝试这样做以查看区别:
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"