检查对象中是否存在属性

时间:2015-08-08 20:20:16

标签: ruby

我花了很长时间试图在其他问题的帮助下自己解决这个问题,但失败了所以我真的需要再问这个问题

我在ruby中有以下对象

(...)
  :follow_request_sent: 
  :notifications:  
:coordinates: 
:place: 
:contributors: 
:favorite_count: 0
:entities:
  :hashtags:
  - :text: 
    :indices:
(...)

这是对象 X 。我想要做的是检查 x.place 是否存在。我几乎没有尝试过一切。任何,?,包括?,[哈希],定义?,(...)但它总是抛出一个错误"未定义的方法"当试图访问该属性时,是否存在。它永远不会工作,我不明白为什么。这是Twitter API btw。有谁想象为什么?请不要指出我的另一个答案,因为基本上他们都失败了。

1 个答案:

答案 0 :(得分:7)

如果你想看看是否有这样的方法:

x.respond_to?(:place)

如果您想查看是否有实例变量:

x.instance_variable_defined?(:@place)