在ruby中,有没有办法在控制台中知道方法的作用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ruby中,有没有办法在控制台中知道方法的作用?相关的知识,希望对你有一定的参考价值。
在Ruby中,如果我正在寻找类的方法。即:String.methods.sort
,我有以下内容:
[:!, :!=, :!~, :<, :<=, :<=>, :==, :===, :=~, :>, :>=, :__id__,
:__send__, :allocate, :ancestors, :autoload, :autoload?, :class,
:class_eval, :class_exec, :class_variable_defined?,
:class_variable_get, :class_variable_set, :class_variables, :clone,
:const_defined?, :const_get, :const_missing, :const_set, :constants,
:define_singleton_method, :deprecate_constant, :display, :dup,
:enum_for, :eql?, :equal?, :extend, :freeze, :frozen?, :hash,
:include, :include?, :included_modules, :inspect, :instance_eval,...]
有没有办法让我在控制台中键入命令来探索方法?如果我不熟悉:display
并且我想知道它做了什么,它返回的是什么呢?
如果是,php和javascript有类似的东西在控制台中看到方法定义吗?它看起来不像我遇到过它。
答案
您可以使用
help 'String#display'
并且它将显示方法的rdoc(在irb之外运行ri 'String#display'
时显示的相同输出。你也可以只输入help
到irb,它将进入一种模式,你可以只输入方法名称和它将显示rdoc(输入一个空行退出)。
另一答案
如果你使用Pry
,它有一个方便的快捷方式,show-source
:
[1] pry(main)> show-source String.display
From: io.c (C Method):
Owner: Kernel
Visibility: public
Number of lines: 15
static VALUE
rb_obj_display(int argc, VALUE *argv, VALUE self)
{
VALUE out;
if (argc == 0) {
out = rb_stdout;
}
else {
rb_scan_args(argc, argv, "01", &out);
}
rb_io_write(out, self);
return Qnil;
}
以上是关于在ruby中,有没有办法在控制台中知道方法的作用?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ruby on Rails 的控制台中调用控制器/视图辅助方法?
有没有办法在 mp4 中使用 ruby on rails / web / html5 录制音频
JUnit get() 方法在 Spring Boot 中不起作用