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
如何只导入所需的方法,而不导入Ruby中的所有库_Ruby - Fatal编程技术网

如何只导入所需的方法,而不导入Ruby中的所有库

如何只导入所需的方法,而不导入Ruby中的所有库,ruby,Ruby,我想使用fileutils中的cd方法: require "fileutils" 而不是做: FileUtils.cd(home/user/Documents) 我想这样做: cd(home/user/Documents) 我可以用Ruby做这样的事情吗 在Python中,我们可以执行以下操作: from random import randint print(randint(1,7)) 而不是: import random print(random.randint(1,7)) Rub

我想使用fileutils中的
cd
方法:

require "fileutils"
而不是做:

FileUtils.cd(home/user/Documents)
我想这样做:

cd(home/user/Documents)
我可以用Ruby做这样的事情吗

在Python中,我们可以执行以下操作:

from random import randint
print(randint(1,7))
而不是:

import random
print(random.randint(1,7))

Ruby可能的副本不是Python,因为每次使用Python:P时我都会痛苦地被提醒。您可以通过
require“fileutils”获取
cd(“主页/用户/文档”)
;包含FileUtils
,但我不建议您使用它(它所做的是使当前对象继承自
FileUtils
模块)。@Amadan还以相同的方式使所有其他FileUtils方法可用。@SergioTulentsev:确实如此。这一部分是对“我想做这样的事情:
cd(home/user/Documents)
”的回应,我本可以说得更清楚(尽管含义相当明确,因为我给出的代码片段没有以任何方式引用
cd
)@user1934428:在Python中,整个模块都是执行的,但只有注明的实体才能导入使用。在模块的代码中,一切仍然可用。Python的import语句并不意味着只加载注意到的函数;它只影响哪些对象可用于当前命名空间。这与在Ruby中使用
private
标记类内部可用但外部不可用的方法类似,尽管目的和域不同(Ruby这样做是为了保护对象完整性,Python这样做是为了保护导入环境免受污染)。