私はかなりプログラミングに新しいし、私のコードのいくつかのヘルプ/フィードバックが必要です。 私の目標は、正常に動作している私のデータを掻き集め、そのデータをユーザに番号付きリストで表示することです。私はこのデータを表示するのが難しいです。私のプログラムは私のメソッドを単純にスキップしてエラーを戻すことはありません。どんなヘルプ/フィードバックにも事前に感謝しています!Rubyでデータを反復処理する方法は?
class BestPlaces::Places
attr_accessor :name, :population, :places
@@places = []
def self.list_places
# puts "this is inside list places"
self.scrape_places
end
def self.scrape_places
doc = Nokogiri::HTML(open("https://nomadlist.com/best-cities-to-live"))
places = doc.search("div.text h2.itemName").text
rank = doc.search("div.rank").text
places.collect{|e| e.text.strip}
puts "you are now in title"
@@places << self.scrape_places
puts "#{rank}. #{places}"
end
end
end
CLI Page:
class BestPlaces::CLI
def list_places
puts "Welcome to the best places on Earth!"
puts @places = BestPlaces::Places.list_places
end
def call
list_places
menu
goodbye
end
end
コードをどのように実行しますか? – spickermann
ローカル、自分のbinフォルダ内のCLIプログラム – schall
あなたのメソッド、つまり 'BestPlaces :: Places.list_places'(私はあなたのエントリーポイントだと思います)を呼び出さなければなりません。これをファイルの一番下に置きます。 '@@ places << self.scape_places'という行には無限ループがあります。 – Anthony