gpt4 book ai didi

ruby - # (NoMethodError) 的未定义方法 `output_data'

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:20 24 4
gpt4 key购买 nike

我一直收到这个错误:

event_manager.rb:83:in': undefined method output_data' for #<EventManager:0x007fc5018320c0> (NoMethodError)

我正在做练习 on this website :

这是我的代码(我的错误接近尾声 DEF OUTPUT_DATA ...):

# Dependencies

require "csv"

# Class Definition

class EventManager

INVALID_PHONE_NUMBER = "0000000000"
INVALID_ZIPCODE = "00000"

def initialize
puts "EventManager Initialized."
filename = "event_attendees.csv"
@file = CSV.open(filename, {:headers => true, :header_converters => :symbol})
end

def print_names
@file.each do |line|
puts line.inspect
puts line[2] + " " + line[3]
end
end

#printing home phone number method
def print_numbers
@file.each do |line|
number = clean_number(line[:homephone])
puts number
end
end
#cleaning numbers method
def clean_number(number)
cleaner= number.delete('.' + ')' + '(' + '-')
if cleaner.length == 10
# Do Nothing
elsif cleaner.length == 11
if cleaner.start_with?("1")
cleaner = cleaner[1..-1]
else
cleaner = INVALID_PHONE_NUMBER
end
else
cleaner = INVALID_PHONE_NUMBER
end
return cleaner
end

def clean_zipcode(original)
if original.nil?
zipcode = INVALID_ZIPCODE
elsif original.length < 5
while original.length < 5
original = original.insert(0, "0")
end
else
return original
end
return zipcode
end


def print_zipcodes
@file.each do |line|
zipcode = clean_zipcode(line[:zipcode])
puts zipcode
end

def output_data
output = CSV.open("event_attendees_clean.csv", "w")
@file.each do |line|
output << line
end
end
end
end





# Script
manager = EventManager.new
#manager.print_numbers
#manager.print_zipcodes
manager.output_data

我已经尝试了几种方法,通过互联网进行了全面检查,但我自己还是弄不明白。

我将非常感谢任何的帮助。

提前致谢!

最佳答案

您定义了 output_data 方法嵌入到 print_zipcodes 中(迭代 block 未关闭)。尝试缩进您的代码 - 这样就很容易发现错误。

关于ruby - #<EventManager :0x007fa4220320c8> (NoMethodError) 的未定义方法 `output_data',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13520890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com