Ruby中檢測(cè)Gem是否安裝的方法
最近參加七牛的demo大賽,決定使用ruby開發(fā)。于是遇到了一些疑問(wèn),然后解決了,這里記錄一下。
在Ruby中,Gem是一個(gè)很常見的東西,其相當(dāng)于插件,Ruby有很多很棒的gem,避免了我們重復(fù)造輪子,我的demo中需要安裝gem,但是為了更加實(shí)現(xiàn)好一些,先檢測(cè)gem是否已經(jīng)安裝,如果沒有安裝,在繼續(xù)安裝,否則不安裝。
于是,怎么在Ruby中檢測(cè)gem是否安裝呢,其實(shí)也很簡(jiǎn)單,直接上代碼就可以了。不需太多解釋。begin…rescue…相當(dāng)于java中的try catch。
#!/usr/bin/env ruby
# encoding: utf-8
def checkGemAvailable(gemName, versionLimit=nil)
isAvailable = false
begin
if versionLimit == nil
gem gemName
else
gem gemName, versionLimit
end
isAvailable = true
rescue LoadError
end
isAvailable
end
跑起來(lái)看一看
puts checkGemAvailable('rack')
puts checkGemAvailable('rack', '>=2')
我機(jī)器的rack信息
rack (1.5.2)
所以上面執(zhí)行的結(jié)果為
true
false
相關(guān)文章
Ruby中實(shí)現(xiàn)把字符串轉(zhuǎn)換為類的2種方法
這篇文章主要介紹了Ruby中實(shí)現(xiàn)把字符串轉(zhuǎn)換為類的2種方法,其中一種是rails提供的方法,需要的朋友可以參考下2014-10-10
Ruby on Rails在Ping ++ 平臺(tái)實(shí)現(xiàn)支付
本文給大家分享的是使用Ruby on Rails在Ping ++ 平臺(tái)實(shí)現(xiàn)支付功能的代碼,非常的實(shí)用,有需要的小伙伴可以參考下。2016-02-02
Java 版的 Ruby 解釋器 JRuby 1.7.14 發(fā)布
JRuby,一個(gè)采用純Java實(shí)現(xiàn)的Ruby解釋器,由JRuby團(tuán)隊(duì)開發(fā)。它是一個(gè)自由軟件,在CPL/GPL/LGPL三種許可協(xié)議下發(fā)布。2014-08-08

