ruby-on-rails – Rails中的这个神秘的“j”是什么?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails中的这个神秘的“j”是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在轨道控制台,不小心输入了字母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”来访问它.

它接受任何数量的参数,所以j返回没有打印任何东西.它相当于p方法,只是使用json而不是检查结果.

原文链接:https://www.f2er.com/ruby/265432.html

猜你在找的Ruby相关文章