【发布时间】:2011-10-08 16:30:17
【问题描述】:
原谅我,伙计们。我在 best 是 Ruby 的新手。我只是想知道对我来说似乎很奇怪的行为的解释。
我正在使用 Savon 库与我的 Ruby 应用程序中的 SOAP 服务进行交互。我注意到以下代码(在我编写的用于处理此交互的类中)似乎传递了 empty values 我希望成员字段的值去的地方:
create_session_response = client.request "createSession" do
soap.body = {
:user => @user, # This ends up being empty in the SOAP request,
:pass => @pass # as does this.
}
end
尽管@user 和@pass 都已初始化为非空字符串,但还是会这样做。
当我将代码更改为使用本地变量时,它会按我预期的方式工作:
user = @user
pass = @pass
create_session_response = client.request "createSession" do
soap.body = {
:user => user, # Now this has the value I expect in the SOAP request,
:pass => pass # and this does too.
}
end
我猜这种奇怪的(对我来说)行为一定与我在一个街区内的事实有关;但实际上,我不知道。有人能告诉我这个吗?
【问题讨论】:
标签: ruby block instance-variables savon