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
Java 如何在Netbeans中调试Ruby基方法?_Java_Ruby - Fatal编程技术网

Java 如何在Netbeans中调试Ruby基方法?

Java 如何在Netbeans中调试Ruby基方法?,java,ruby,Java,Ruby,我能够调试我的ruby程序。有时,我想深入到库方法中,看看发生了什么。如何在Ruby中实现它 比如说, [ 3, 1, 7, 0 ].sort 我想深入研究sort方法,看看它是如何工作的。在java + eclipse中,这是可能的,我所要做的就是在Eclipse中附加基础类的来源。在Ruby中是否可以将Netbeans作为IDE 感谢那些在Ruby中实现的方法,调试器将直接进入它们 对于在Ruby中没有实现的方法,即它们在C++中的MRI、Ayv和Tyyrb中实现,java在JRuby和X

我能够调试我的ruby程序。有时,我想深入到库方法中,看看发生了什么。如何在Ruby中实现它

比如说,

[ 3, 1, 7, 0 ].sort
我想深入研究sort方法,看看它是如何工作的。在java + eclipse中,这是可能的,我所要做的就是在Eclipse中附加基础类的来源。在Ruby中是否可以将Netbeans作为IDE


感谢那些在Ruby中实现的方法,调试器将直接进入它们


<>对于在Ruby中没有实现的方法,即它们在C++中的MRI、Ayv和Tyyrb中实现,java在JRuby和XRuby中,在C中的IrRuby和Ruby.NET中,在MalLeV和Simuluby中的SMALLATE中,在BlueRuby的ABAP中,在RubyGoLightly中,在RubiNi的C++中,或者在Murrby中的Objto-C中,NetBeans Ruby插件包含一个存根方法,它只列出方法签名和RDoc注释,而不列出实际的实现

NETBeaBeReby调试器毕竟是一个Ruby调试器,它不知道如何进入C、C++、Objto-C、Cype、SimalTalk、ABAP或java。 <> P>可能有可能将Ruby调试器链接到C++调试程序(前提是您安装了NETBeaS C++插件),但没有人完成过这项工作。


在您的特定情况下,在几乎所有Ruby实现中,
Array#sort
都没有在Ruby中实现。唯一的例外可能是Rubinius,但我不知道NetBeans Ruby插件是否支持Rubinius(我使用Windows,Windows不支持Rubinius)。

感谢您的详细回复!我不能完全理解数组#排序没有在Ruby中实现???(对不起,我认为一切都等同于Java)。在哪里可以找到实现数组#sort。我的意思是,如果我进入Netbeans中的实现,我所能看到的就是您所说的存根。我想知道sort方法的逻辑(无论是quick还是merge)。Ruby语言的某些部分级别太低,无法用Ruby表示。基本上,该语言的整个基础都是用另一种语言编写的,其余部分则是在该基础上用Ruby building编写的。Matz,Ruby的创建者用C++编写了这个基础。JRuby使用Java。这意味着调试器无法实际显示所有内容,因为在某一点上,您会遇到另一种语言,而调试器不知道如何进入。编辑:您可以通过单击此页面中方法的名称@frosty:Got it.来查看Array.sort的来源。。还有一个问题。如何知道我的Ruby程序使用什么语言?(我刚刚在windows平台上安装了带有ruby的netbeans)@bragaadesh大多数语言都是在较低级别上实现的——所有东西都在某种程度上脱离了二进制!(MRI)Ruby的Windows版本是用C实现的,可以用MS C V6(Ruby 1.8.6)或gcc(1.8.7和1.9+)编译。如果在命令提示符下键入
Ruby-v
,则版本字符串应该包含“mswin32”(MS编译器)或“mingw32”(gcc)。IronRuby和JRuby将报告它们引用的特定运行时。NetBeans运行基于C或Java的版本。我认为在Ruby模式下,它不会调试到Java部分,尽管我从未尝试过。@Mike。谢谢,是的,我同意,如果你们进一步拆分,我会在较低级别下面讨论触发器,进一步拆分会涉及到芯片和电子的运动总之,您刚刚回答了我的具体问题,那就是ruby-v命令。