require "b.rb"
将执行 b.rb 的内容(你调用离开“.rb”,并且有一个搜索路径)。在你的情况下,你可能会这样做:
a.rb:
require "b.rb";
b("Hello", "world")
b.rb:
def b(first, second)
puts first + ", " + second
end
请注意,如果您使用require http://ruby-doc.org/core-2.0/Kernel.html#method-i-require,Ruby只会加载并执行该文件一次(每次调用load http://ruby-doc.org/core-2.0/Kernel.html#method-i-load它将被重新加载),但您可以根据需要多次调用文件中定义的方法。
随着事情变得越来越复杂,您将希望转向面向对象的设计。
编辑:在这种情况下,您应该研究 Ruby 线程。一个简单的例子是:
a.rb:
require "b";
t1 = Thread.new{b("Hello", "world");}
t2 = Thread.new{b("Hello", "galaxy");}
t1.join
t2.join
b.rb:
def b(first, second)
10.times {
puts first + ", " + second;
sleep(0.1);
}
end