我無法在名為 MySqliteRequest 的類中呼叫 run 方法。當我呼叫該方法時,錯誤就會消失。
in `main': undefined method `run' for nil:NilClass (NoMethodError)
這里有一些方法MySqliteRequest
class MySqliteRequest
def print
puts "Type Of Request #{@type_of_request}"
end
def run
print
end
def _setTypeOfRequest(new_type)
if(@type_of_request == :none or @type_of_request == new_type)
@type_of_request = new_type
else
raise "Invalid: type of request already set #{@type_of_request} (new type => #{new_type}"
end
end
end
主要方法↓
def _main()
request = MySqliteRequest.new
request = request.from('nba_player_data.csv')
request = request.select('name')
request = request.where('birth_state', 'Indiana')
request.run
end
_main()
uj5u.com熱心網友回復:
在您呼叫request.run的值處為requestis nil。這就是為什么您會看到給出的錯誤。
發生這種情況是因為它正上方的行將nil值分配給request變數。
您顯然來自另一種不是 Ruby 的語言(可能是某種型別的 C 語言?),因為您是如何格式化的。它將幫助您更熟悉 Ruby 及其習語。但是,最好我可以告訴你,你想做這樣的事情:
def _main
request = MySqliteRequest.new
request.from('nba_player_data.csv')
request.select('name')
request.where('birth_state', 'Indiana')
request.run
end
_main()
這假設您還在您的MySqliteRequest物件或模型上定義(并且在某些情況下可能被覆寫)這些方法:
from
select
where
但是,請注意,您這樣做的方式完全違背了 Ruby 和 Ruby on Rails 的設計方式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471106.html
