gpt4 book ai didi

ruby - 为什么 kernel_require.rb 在我的堆栈跟踪中?

转载 作者:数据小太阳 更新时间:2023-10-29 08:38:57 24 4
gpt4 key购买 nike

我忘了在 if 语句的末尾加上 end 这个词,并得到以下错误:

/home/***/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': **/home/****/Desktop/ruby/food_finder/lib/restaurant.rb:84: syntax error, unexpected end-of-input, expecting keyword_end (SyntaxError)**
from /home/****/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /home/****/Desktop/ruby/food_finder/lib/guide.rb:1:in `<top (required)>'
from /home/****/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /home/****/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from init.rb:14:in `<main>'

我的代码没有错误:

def self.saved_restaurants
# read the restaurant file
restaurants = []
if file_usable?
file = File.new(@@filepath, 'r')

file.each_line do |line|
restaurants << Restaurant.new.import_line(line.chomp)
end

file.close
**end** -- > forgotten end
# return instances of restaurant
return restaurants
end

我的错误代码:

def self.saved_restaurants
# read the restaurant file
restaurants = []
if file_usable?
file = File.new(@@filepath, 'r')

file.each_line do |line|
restaurants << Restaurant.new.import_line(line.chomp)
end

file.close
-- > forgotten end
# return instances of restaurant
return restaurants
end

我的问题是:为什么我会收到与我的代码无关的错误?像下面这样:

/home/***/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': 
  1. 这个错误是什么意思?

当我对 saved_restaurants 方法使用正确的语法时,我没有收到任何错误。

最佳答案

您的文件restaurant.rbguide.rb 中的方法调用require 读取,该方法定义在kernel_require.rb 中。 .在其方法定义中,它具有以下部分:

def require path

...

rescue LoadError => load_error

...

raise load_error
end

当你在读取的文件中有语法错误时,会引发一个LoadError,它被拯救,并将作为一个错误引发require

关于ruby - 为什么 kernel_require.rb 在我的堆栈跟踪中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16624259/

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