Immer meine Ruby-Datei zum laden in den Hebeln?
Ich bin versucht zu Bearbeiten, mein Ruby-Datei mit Hebeln. Es gibt nur wenige Variablen, die gesetzt sind, und aus welchem Grund auch immer ich kann nicht scheinen, um cd
in Sie, weil Sie nicht definiert sind, auch nachdem ich den 'laden' die Datei.
Hier ist der code:
require 'nokogiri'
require 'open-uri'
doc = Nokogiri.XML('<foo><bar /><foo>', nil, 'UTF-8')
url = "http://superbook.eventmarketer.com/category/agencies/"
puts "Finished!"
In Pry ich tun:
load "./AgencyListingScraper.rb"
und dann ist die Ausgabe:
7] pry(main)> load './AgencyListingScraper.rb'
Finished!
=> true
[8] pry(main)>
Dann, wenn ich versuche, etwas zu tun:
[8] pry(main)> url
NameError: undefined local variable or method `url' for main:Object
from (pry):6:in `__pry__'
[9] pry(main)> cd url
Error: Bad object path: url. Failed trying to resolve: url. #<NameError: undefined local
variable or method `url' for main:Object>
[10] pry(main)>
Dies ist, was ich bekomme.
Ich denke, ich bin nicht das laden der Datei nicht mehr richtig obwohl ich habe lange gesucht für Stunden, und ich kann nicht herausfinden, wie man richtig zu tun. Ich war richtig vor Monaten, als ich schon einen Schaber mit Ruby, aber dieses mal habe ich habe Probleme gerade erst begonnen, da dieses bit.
Dank für Eure Hilfe im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es auf diese Weise:
In der Datei enthalten Hebeln und eine
binding.pry
:Dann die Datei ausführen, Ausführung:
Sollten Sie drop in ein Pry-Sitzung, wo Sie können Befehle wie
ls
zu sehen, alle Variablen.Sowohl die Art und Weise Sie verwendet werden, Hebeln, und auf diese Weise, arbeiten. Jedoch, der Grund dafür, dass
load
nicht tätig werden dürfen, in Ihrem Fall ist, dass lokale Variablen nicht dazu hinreißen, mehr über Dateien, wie Sie ist, wenn Sie eine Datei von einem anderen.Versuchen Sie das laden dieser Datei:
Wenn Sie laden Sie es in Hebeln mit
load "test.rb"
können Sie sehen, dass Sie können nicht erhalten Sie Zugriff auf die lokalen Variablen aus dieser Datei.Fand ich diese Frage googeln, aber die vorgeschlagene Lösung funktionierte nicht für mich, weil die Datei, die ich wollte zu laden war nicht eine Klasse noch ein script sondern ein Komplexes ruby-config-Datei, also war ich nicht in der Lage zu injizieren hebeln in den code.
Aber ich fand auch eine Antwort auf Reddit verlinkt diese gist das war genau was ich suchte.
Tun, eine
Effektiv ausführen der ruby-code der Datei
stuff.rb
in der aktuellen Eröffnung der Sitzung, verlassen der resultierenden Objekte für die Inspektion.