我正在撰写一篇关于Ruby中几乎所有东西都是对象的博客文章,我试图通过以下示例来展示:
class CoolBeans
attr_accessor :beans
def initialize
@bean = []
end
def count_beans
@beans.count
end
end
Run Code Online (Sandbox Code Playgroud)
所以从查看课程我们可以告诉它有4种方法(除非当然,我错了):
attr_accessor)attr_accessor)但是,当我向类本身询问它具有哪些实例方法时,我没有看到默认initialize方法:
CoolBeans.new.class.instance_methods
# => [:beans, :beans=, :count_beans, :lm, :lim, :nil?, :===, :=~, :!~, :eql?, :hash, :<=>, :class, :singleton_class, :clone, :dup, :itself, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :to_s, :inspect, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :tap, :send, :public_send, :respond_to?, :extend, :display, :method, :public_method, :singleton_method, …Run Code Online (Sandbox Code Playgroud) 我正在使用Locu API,目前已将HTTParty请求的结果放入名为data的ruby哈希中。
我试图调用data.to_json,这在我的哈希中放了反斜杠:
data.to_json
=> "{\"meta\":{\"limit\":25,\"cache-expiry\":3600}
Run Code Online (Sandbox Code Playgroud)
有人发布了相同的问题,该问题已解决,如下所示:
puts data.to_json
Run Code Online (Sandbox Code Playgroud)
不幸的是,这根本不会改变我的哈希值。有任何想法吗?