dee*_*pak 2 ruby rubygems require
我可以有条件地跳过在Ruby中要求一个文件吗?
begin
require 'aws-sdk'
rescue LoadError
puts "aws-sdk gem not found"
end
namespace :db do
desc "import local postgres database to heroku. user and database name is hardcoded"
task :import_to_heroku => [:environment, "db:dump_for_heroku"] do
# code using aws-sdk gem
end
end
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我可以要求Ruby在rescue LoadError
我可以将整个代码包装在条件中之后不要阅读,但这是不优雅的.我试着next和return.
编辑:添加了一个新问题我是否可以有条件地跳过在同一个文件中加载"更多"ruby代码?.抱歉.没有正确地问这个问题
也许exit在日志之后添加一个:
begin
require 'aws-sdk'
rescue LoadError
puts "aws-sdk gem not found"
exit
end
namespace :db do
desc "import local postgres database to heroku. user and database name is hardcoded"
task :import_to_heroku => [:environment, "db:dump_for_heroku"] do
# code using aws-sdk gem
end
end
Run Code Online (Sandbox Code Playgroud)
中止函数也是在同一个调用中记录和退出:
abort("aws-sdk gem not found")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2229 次 |
| 最近记录: |