我在轨道控制台,不小心输入了字母,j
然后按回车键返回nil
.
rails c Loading development environment (Rails 3.2.13) [6] pry(main)> j => nil [1] pry(main)> j.nil? => true
谷歌没有让我到任何地方.有人知道这个神秘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库的方法(它将此方法添加到 Kernel
模块,因此可以在irb中访问),它负责将给定的参数显示为JSON对象:
j(hello: :world) #=> {"hello":"world"} nil
默认情况下,Rails需要json
库,因此它可以立即使用.在纯IRB中,您需要require 'json'
访问它.
它接受任意数量的参数,因此j
返回nil而不打印任何内容.它相当于p
方法,只使用json而不是inspect
结果.