Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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-相当于核心库的“gem open”_Ruby - Fatal编程技术网

ruby-相当于核心库的“gem open”

ruby-相当于核心库的“gem open”,ruby,Ruby,我可以gem open#{gem_name}(命令行)查看已安装gem的源代码。但是如何查看ruby core中的openssl的源代码呢 (无需转到…是否有本地查看的命令?没有命令。最可能的原因是Ruby附带的gems与核心代码的处理方式不同。也就是说,图书馆是 如果你想找到特定的代码(假设它是Ruby而不是C),你总是可以这样做的 foo.method(:bar).source_location Foo.instance_method(:bar).source_location 最初的标题

我可以
gem open#{gem_name}
(命令行)查看已安装gem的源代码。但是如何查看ruby core中的openssl的源代码呢


(无需转到…是否有本地查看的命令?

没有命令。最可能的原因是Ruby附带的gems与核心代码的处理方式不同。也就是说,图书馆是

如果你想找到特定的代码(假设它是Ruby而不是C),你总是可以这样做的

foo.method(:bar).source_location
Foo.instance_method(:bar).source_location

最初的标题是“ruby open core library source”,它因不符合质量标准而被拒绝-我认为这是一个误判?你可以重新安装内置的gem,例如
gem install openssl-v'2.0.5'
I found
vim~/.rbenv/versions/2.4.2/lib/ruby/2.4.0/
,这是一个可行的解决办法;您可以通过运行
which ruby
找到您的文件夹,然后,如果您向上爬到文件夹,然后向下爬到任何可能的文件夹中,您可以找到只提供目录的源,即ruby文件。您将看不到gem的目录,即C源文件和头文件。
source\u location
返回nil
OpenSSL::Cipher.instance\u method(:key\u len).source\u location
@xxjjnn正如我所说,只要它是Ruby而不是C代码。