Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ruby中,有没有办法在控制台中了解方法的作用?_Ruby_Class_Methods_Console - Fatal编程技术网

在ruby中,有没有办法在控制台中了解方法的作用?

在ruby中,有没有办法在控制台中了解方法的作用?,ruby,class,methods,console,Ruby,Class,Methods,Console,在Ruby中,如果我正在寻找一个类的方法。 ie:String.methods.sort 我有以下几点: [:!, :!=, :!~, :<, :<=, :<=>, :==, :===, :=~, :>, :>=, :__id__, :__send__, :allocate, :ancestors, :autoload, :autoload?, :class, :class_eval, :class_exec, :class_variable_defined?

在Ruby中,如果我正在寻找一个类的方法。 ie:
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,...]
[:!,:!=,:!~,:=,:\u id\u,
:_u发送,:分配,:祖先,:自动加载,:自动加载?,:类,
:class\u eval,:class\u exec,:class\u变量\u定义?,
:class\u variable\u get、:class\u variable\u set、:class\u variables、:clone、,
:const_defined?,:const_get,:const_missing,:const_set,:constants,
:define_singleton_method,:deprecate_constant,:display,:dup,
:enum_for,:eql?,:equal?,:extend,:freeze,:freezed?,:hash,
:include,:include?,:include_模块,:inspect,:instance_eval,…]
有没有办法在控制台中键入命令来探索方法?如果我不熟悉
:display
,我想知道它做什么,返回什么,是否可能


如果是,PHP和javascript是否有类似于控制台中see方法定义的内容?看起来我没有遇到过它。

如果您使用
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;
}
你可以用

help 'String#display'

它将显示该方法的rdoc(与在irb外部运行
ri'String#display'
时显示的输出相同。您也可以只在irb中键入
help
,它将进入一种模式,您只需继续键入方法名称,它将显示rdoc(输入一个空行即可退出).

请参阅独立程序的讨论
ri
rdoc
。非常感谢..@CarySwoveland..您知道php和Javascript是否有类似的命令吗?这非常方便,而不是总是在线查找文档。抱歉,我对这两种语言都不熟悉。也许其他人可以回答。@Krishna JS没有这个内置的。你必须参考文档。对PHP不太确定。初学者如何理解Ruby方法的源代码?@arjun:这是他问的。这是关于“方法的作用”的终极真理来源。更多“初学者友好”解释/文档只需一次谷歌搜索就可以找到。@SergioTulentsev..我不知道Pry。非常感谢您提到它。我刚开始使用Ruby,非常喜欢它。我的另一个问题是,您是否知道php和javascript是否有类似的命令。请告诉我是否最好使用它开始一个新的线程。@SergioTulentsev嘿,如果人们开始阅读文档,StackOverflow将是空的。OP是一个初学者。你所回答的可能对他来说是额外的知识。这可能只是顺便提一下。SimpleLine上面写的就是OP所寻找的答案。@arjun:你怎么知道他在寻找什么为了什么?谢谢大家@Simple…有没有可能知道php和javascript是否有类似的命令?