irb 如何要求工作?
how does irb require work?
通常,当我测试 Ruby 的小代码片段时,我多次将代码块放在同一目录的不同文件中,运行 irb,然后 运行以下命令:
Dir[Dir.pwd + "/*.rb"].each { |file| require file }
这会将所有文件加载到 irb 中。这让我想到了我的问题:当我需要一个文件时,irb 如何处理该请求?是否需要所有要求并将它们放在一个整体 'file' 中?我正在寻找 irb 工作原理的机制。
如果有人知道答案或能指出正确的方向,我将不胜感激。
干杯
简短的回答是:
require
将文件加载到 Ruby 解释器中。分析源代码,将其副产品合并到 Ruby 运行时(类 加载等),然后源代码不会保存在任何地方,最终被垃圾收集(它占用的内存被释放)。
通常,当我测试 Ruby 的小代码片段时,我多次将代码块放在同一目录的不同文件中,运行 irb,然后 运行以下命令:
Dir[Dir.pwd + "/*.rb"].each { |file| require file }
这会将所有文件加载到 irb 中。这让我想到了我的问题:当我需要一个文件时,irb 如何处理该请求?是否需要所有要求并将它们放在一个整体 'file' 中?我正在寻找 irb 工作原理的机制。
如果有人知道答案或能指出正确的方向,我将不胜感激。
干杯
简短的回答是:
require
将文件加载到 Ruby 解释器中。分析源代码,将其副产品合并到 Ruby 运行时(类 加载等),然后源代码不会保存在任何地方,最终被垃圾收集(它占用的内存被释放)。