[英]syntax error, unexpected end-of-input, expecting keyword_end (SyntaxError) Address_book
當我嘗試在命令行上運行我的 ruby address_book 進行測試時,出現此錯誤,我不知道代碼有什么問題。
錯誤
address_bloc.rb:1:in
require_relative': >/Users/paul/address_bloc/controllers/menu_controller.rb:125: syntax error, >unexpected end-of-input, expecting keyword_end (SyntaxError) from address_bloc.rb:1:in
'
-address_bloc.rb
require_relative 'controllers/menu_controller'
menu = MenuController.new
system "clear"
puts "Welcome to AddressBloc!"
menu.main_menu
-控制器/menu_controller.rb
require_relative "../models/address_book"
class MenuController
attr_accessor :address_book
def initialize
@address_book = AddressBook.new
end
def main_menu
puts "Main Menu - #{@address_book.entries.count} entries"
puts "1 - View all entries"
puts "2 - Create an entry"
puts "3 - Search for an entry"
puts "4 - Import entries from a CSV"
puts "5 - Exit"
print "Enter your selection: "
selection = gets.to_i
case selection
when 1
system "clear"
view_all_entries
main_menu
when 2
system "clear"
create_entry
main_menu
when 3
system "clear"
search_entries
main_menu
when 4
system "clear"
read_csv
main_menu
when 5
puts "Good-bye!"
exit(0)
else
system "clear"
puts "Sorry, that is not a valid input"
main_menu
end
end
def view_all_entries
@address_book.entries.each do |entry|
system "clear"
puts entry.to_s
entry_submenu(entry)
end
system "clear"
puts "End of entries"
end
def create_entry
system "clear"
puts "New AddressBloc Entry"
print "Name: "
name = gets.chomp
print "Phone number: "
phone = gets.chomp
print "Email: "
email = gets.chomp
@address_book.add_entry(name, phone, email)
system "clear"
puts "New entry created"
end
def search_entries
end
def read_csv
end
def entry_submenu(entry)
puts "n - next entry"
puts "d - delete_entry"
puts "e - edit this entry"
puts "m - return to main menu"
selection = gets.chomp
case selection
when "n"
when "d"
when "e"
when "m"
system "clear"
main_menu
else
system "clear"
puts "#{selcetion} is not a valid input"
entry_submenu(entry)
end
end
end
謝謝你
你的最終end
是關閉def entry_submenu(entry)
現在你需要一個最終end
來關閉class MenuController
像這樣:
require_relative "../models/address_book"
class MenuController
attr_accessor :address_book
def initialize
@address_book = AddressBook.new
end
def main_menu
puts "Main Menu - #{@address_book.entries.count} entries"
puts "1 - View all entries"
puts "2 - Create an entry"
puts "3 - Search for an entry"
puts "4 - Import entries from a CSV"
puts "5 - View Entry Number n"
puts "6 - Exit"
print "Enter your selection: "
selection = gets.to_i
case selection
when 1
system "clear"
view_all_entries
main_menu
when 2
system "clear"
create_entry
main_menu
when 3
system "clear"
search_entries
main_menu
when 4
system "clear"
read_csv
main_menu
when 5
system "clear"
display_entry_by_n
main_menu
when 6
puts "Good-bye!"
exit(0)
else
system "clear"
puts "Sorry, that is not a valid input"
main_menu
end
end
def view_all_entries
@address_book.entries.each do |entry|
system "clear"
puts entry.to_s
entry_submenu(entry)
end
system "clear"
puts "End of entries"
end
def create_entry
system "clear"
puts "New AddressBloc Entry"
print "Name: "
name = gets.chomp
print "Phone number: "
phone = gets.chomp
print "Email: "
email = gets.chomp
@address_book.add_entry(name, phone, email)
system "clear"
puts "New entry created"
end
def display_entry_by_n
system "clear"
puts "Enter the entry number"
print "Number:"
selection = get.chomp.to_i
if selection < @address_book.entries.size
puts @address_book.entries[selection]
puts "Press enter to return to main menu"
gets.chomp
system "clear"
else
puts "#{selection} is not a valid input"
display_entry_by_n
end
end
def search_entries
end
def read_csv
end
def entry_submenu(entry)
puts "n - next entry"
puts "d - delete_entry"
puts "e - edit this entry"
puts "m - return to main menu"
selection = gets.chomp
case selection
when "n"
when "d"
when "e"
when "m"
system "clear"
main_menu
else
system "clear"
puts "#{selcetion} is not a valid input"
entry_submenu(entry)
end
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.