您好我是ruby的新手并且最近开始学习相同的内容。我写下了ruby程序,该程序运行良好。
但是这个程序都写在一个文件中。我希望将每个类放在一个不同的文件中,并使用一个文件来执行all.ie,就像我们在java中一样。[启动程序的一个主要方法]如何我可以像这样运行这个程序。
当我尝试将每个类保存在单个文件中并尝试执行相同时,它开始给出错误,例如找不到方法。
class Vehical
attr_accessor :odometer
attr_accessor :gas_used
def accelrate
puts " Floor It"
end
def sound_horn
puts "Beep! Beep!"
end
def steer
puts "Turn front 2 wheels"
end
def mileage
@odometer /@gas_used
end
end
class Truck < Vehical
end
class Motercycle < Vehical
end
class Car < Vehical
end
truck = Truck.new
truck.steer
car = Car.new
car.odometer = 11432
car.gas_used = 366
puts "Lifetime MPG:"
puts car.mileage
答案 0 :(得分:3)
以下是几个选项:
使用require_relative
将这些文件加载到主文件中。
require_relative "vehical"
require_relative "truck"
require_relative "motor_cycle"
require_relative "car"
在主文件中使用$:.unshift File.dirname(__FILE__)
将其位置添加到Ruby加载路径,并在主文件中使用require "dependent-file-name-without-extension"
。
$:.unshift File.dirname(__FILE__)
require "vehical"
require "truck"
require "motor_cycle"
require "car"
运行程序时使用-I <folder>
。示例:ruby -I . main.rb
-Idirectory指定$ LOAD_PATH目录(可以多次使用)