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 , Ruby загрузит и выполнит файл только один раз (каждый раз, когда вы вызываете load , он будет перезагружен), но вы можете вызывать методы, определенные в файл столько раз, сколько вы хотите.
По мере того, как все усложняется, вам нужно перейти к объектно-ориентированному дизайну.
РЕДАКТИРОВАТЬ: В этом случае вы должны изучить Ruby Threading. Простой пример:
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