gpt4 book ai didi

ruby - 如何在 Ruby 中模仿 Node.js 的 require 函数?

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:47 24 4
gpt4 key购买 nike

在 node.js 中你可以这样写:

var lib = require('lib');

但在 Ruby 中,require 函数只是运行文件中的代码并返回 true

目前,我正在使用一个非常脏的解决方案:

主要.rb:

$stuff = []
require './file1.rb'
require './file2.rb'
# and so on

文件1.rb:

$stuff << something

等等。

如何避免使用全局变量?

例如:

主要.rb:

$stuff = []
$stuff << cool_require './file1.rb'
# etc

文件1.rb:

exports.what = something

最佳答案

使用一种语言时,最大的错误之一就是试图使该语言像另一种语言一样工作。

Ruby 不是 NodeJ,每种语言都有内置的特性,这些特性是该语言独有的,不容易复制。

换句话说,没有办法在 Ruby 中实现 NodeJS require 行为,因为在 Ruby 中没有导出的概念。当您需要一个文件时,所需文件中包含的每个方法/类都可用于作用域。

在 Ruby 中有对象和方法的可见性。使方法可见或不可见的方法是将其声明为公共(public)或私有(private)/ protected 。

关于ruby - 如何在 Ruby 中模仿 Node.js 的 require 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20339528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com