【发布时间】:2021-02-12 12:04:26
【问题描述】:
谁能帮我了解如何从问题“puts”中获取姓名、位置、菜肴和时间的值并将其保存到logs.csv文件中?
这是以下描述:
- 以某种方式检索用户的午餐信息(即用户是谁、他们在什么地点吃的、吃了多少道菜以及在什么时间吃的)
- 将该信息保存到数据库文件中
- 检索该信息,下面是我的代码...
class Lunch
def initialize(name, location, dishes, time)
end
def save_to_csv(csv)
CSV.open("C:/ruby/logs.csv", "w") do |row|
row << %w[name location dishes time]
all.each { |user| csv << user }
end
end
def self.read_from_csv(csv)
CSV.foreach("C:/ruby/logs.csv") do |row|
puts row ['name', 'location', 'dishes', 'time']
end
end
def names
puts 'Register your name here?'
name = gets.chomp
name = 'Guest' if name.empty?
puts "Hello #{name}"
end
def logs
puts "Hello, "
puts 'Where did you had your lunch?'
location = gets.chomp
location = 'unknown location' if location.empty?
puts 'What did you eat?'
dishes = gets.chomp
dishes = 'unknown dishes' if dishes.empty?
puts "I ate #{dishes} at #{location}"\
" at "
now = DateTime.now
puts now
end
def displays
puts "Display logs? (y/n?)"
display = gets.chomp
display.load('lunchlogs.csv') if display == "y"
puts "no logs to display" if display != "n"
end
end
我对这些部件有疑问。我无法写入甚至读取 logs.csv 中的内容
我尝试了各种选择。有小费吗?谢谢。
def save_to_csv(csv)
CSV.open("C:/ruby/logs.csv", "w") do |row|
row << %w[name location dishes time]
all.each { |user| csv << user }
end
end
def self.read_from_csv(csv)
CSV.foreach("C:/ruby/logs.csv") do |row|
puts row ['name', 'location', 'dishes', 'time']
end
end
【问题讨论】:
-
为什么你的do块没有
end? -
save_to_csv中的all是什么? -
@Spikie 好的,所以我改变了它,但是当我运行它时出现 NameError
<class:UserLunch>': undefined local variable or methodnames' for UserLunch:Class (NameError)` 我是 ruby 新手
标签: ruby logging console write