Я новичок в кодировании в рубине, и мне интересно, почему я получаю предупреждение при запуске кода ниже.предупреждение: уже инициализировано
Я проверил несколько ответов на подобные вопросы, но, похоже, не может заставить меня работать для меня.
Вы знаете, почему это происходит и как его исправить?
Большое вам спасибо!
Вот предупреждение я получаю в терминале
test_Amazon.rb:9: warning: already initialized constant PAGE_URL
test_Amazon.rb:9: warning: previous definition of PAGE_URL was here
Вот код:
require 'rubygems'
require 'nokogiri'
require 'open-uri'
for $i in (1..5)
PAGE_URL = "http://www.amazon.com/Best-Sellers/zgbs/automotive/?pg=#$i"
page = Nokogiri::HTML(open(PAGE_URL))
page.css(".zg_itemWrapper").each do |item|
price = item.at_css(".zg_price .price").text
asin = item.at_css(".zg_title a")[:href].split("/")[5].chomp
product_name = item.at_css(".zg_title a")[:href].split("/")[3]
puts "#{asin} #{price} #{product_name}"
end
end
Большое спасибо spickermann! Я смог избавиться от предупреждения, сделав page_url в нижнем регистре. Есть ли какая-либо польза для использования «.times» против «for in»? – Sylvain