我在轨道控制台,不小心输入了字母j,然后按Enter键,并返回零.
rails c Loading development environment (Rails 3.2.13) [6] pry(main)> j => nil [1] pry(main)> j.nil? => true
Google没有让我在任何地方.有谁知道这个神秘的j是什么,它的目的是什么?只是好奇.
解决方法
您可以随时使用source_location找到给定方法的源:
method(:j).source_location
或者甚至与pry(或method_source gem)的确切定义:
method(:j).source
结果:
def j(*objs) objs.each do |obj| puts JSON::generate(obj,:allow_nan => true,:max_nesting => false) end nil end
j是一个来自JSON库的方法(它将此方法添加到内核模块,以便可以在irb中访问),它负责将给定的参数显示为JSON对象:
j(hello: :world) #=> {"hello":"world"} nil
默认情况下,Rails需要json库,因此可以立即使用.在纯IRB中,需要“json”来访问它.