2014-10-17 71 views
1

我是新来的红宝石,并不明白这个声明做了什么。ruby​​中的这个语句是什么意思?

dependency 'multi_json' 

更多信息:https://github.com/vongrippen/bitbucket/blob/master/lib/bitbucket_rest_api/request/jsonize.rb#L11

任何Ruby专家,请帮助。

+0

也许给更多的背景就像你遇到的那样?一个错误?捆绑错误?会帮助你更好地帮助你 – Nimir 2014-10-17 11:25:39

+0

@Nimir https://github.com/vongrippen/bitbucket/blob/master/lib/bitbucket_rest_api/request/jsonize.rb#L11 – Amal 2014-10-17 11:31:05

回答

1

它发送消息dependency到隐式接收器self传递String'multi_json'作为唯一的参数。

顺便说一句:它不是一个声明,它是一个表达式。 Ruby中的所有内容都是表达式,没有语句。

+0

哦..谢谢你的解释和纠正。 – Amal 2014-10-17 12:06:35

2

这不是一个核心的ruby方法。它来自父类法拉第::中间件

https://github.com/lostisland/faraday/blob/master/lib/faraday/middleware.rb#L12

下面是执行:

# Executes a block which should try to require and reference dependent libraries 
def self.dependency(lib = nil) 
    lib ? require(lib) : yield 
rescue LoadError, NameError => error 
    self.load_error = error 
end 

那么它基本上做的是试图要求论点lib中,你的情况'multi-json'库。