Re: Wo finde ich RubyWin bzw. was sind die Alternativen?
Dirk Engel <[email protected]> Mon, 24 Mar 2003 15:51:09 +0100
| Newsgroups | gmane.comp.lang.ruby.german |
|---|---|
| Message-ID | <[email protected]> |
[email protected] wrote: > Wo finde ich RubyWin bzw. was sind die Alternativen? > > Ich habe nach der Empfehlung (für Anfänger) aus einem Buch *) das Ruby-Paket > für MSWindows heruntergeladen und installiert. Allerdings nicht die > Buchversion ruby166-0 sondern die aktuelle Version ruby168-8. > > Laut Buch müÃte es eine Testumgebung "RubyWin" geben, bei der man in einem > Fenster das Skript editieren und dann über Menü: Ruby/Eval Buffer ausführen > kann. Dabei sieht man in einem zweiten Fenster die Ein- und Ausgabe. > Dieses Programm ist nach der Installation nicht vorhanden, in den Release > Notes aber beschrieben: "1.6.2-3: Included newer version of RubyWin" > > Wo ist das Programm? (In der Buchversion ruby166-0 ist RubyWin enthalten) In den aktuellen Versionen des Pakets ist RubyWin leider nicht mehr enthalten. Ãltere Versionen (auch die Version 166-0 aus dem Buch) findest du unter: http://dev.rubycentral.com/downloads/files/ > > Oder kann man nur mit dem Editor (SciTE) arbeiten, was mir auch lieber wäre. > Funkioniert aber leider auch nicht! Die Kombination SciTE/Ruby funktioniert leider nur eingeschränkt. Ruby erwartet bei der Ausführung für die Standard-Eingabe eine "echte" Konsole, so dass die Eingabe über SciTE nicht geht. Bei RubyWin wird das Problem umgangen, weil dort der Ruby-Interpreter fest eingebaut ist. Das war auch der Grund, warum wir uns in dem Buch für RubyWin entschieden hatten. > Skript-Ausführung über SciTE-Menü: Tools/Go führt zu folgendem Fehler: > > Bei der ersten Methode die das DOS-Eingabefenster erfordert, bricht das > Programm ab. Das DOS-Fenster erscheint zwar ( gets.to_i ) aber das Ergebnis der > vorherigen Methode print "...." wird nicht angezeigt und nach Eingabe eines > Zeichens bricht das Programm mit nachfolgendem Fehler ab: > > #Bereich2.rb > . > . > 4 print "...." > 5 zahl = gets.to_i > > Bereich2.rb:5: [BUG] Segmentation fault > > Was fehlt evtl. zur Initialisierung bzw. wie kriegt man den Editor zum > Fliegen? Es gibt ein Workaround für das Problem: Im SciTE-Verzeichnis (je nach Installation z.B. C:\ruby\scite) liegt die Konfigurationsdatei "ruby.properties". Sie bestimmt den Umgang von SciTE mit Ruby-Dateien, also auch das Kommando Tools/Go (F5). Ich würde die zwei Zeilen nach "if PLAT_WIN" ändern: if PLAT_WIN # command.go.*.rb=ruby $(FileNameExt) # command.go.subsystem.*.rb=1 command.go.*.rb=cmd /k ruby $(FileNameExt) command.go.subsystem.*.rb=2 Die ursprünglichen Zeilen sind auskommentiert. Die neuen Zeilen stehen darunter. Der Tipp wurde mal von dem Autor von SciTE in com.lang.ruby gegeben. "cmd /k ruby" ruft eine separate Shell unter WindowsNT (2K/XP) auf, in der das Ruby-Programm ausgeführt wird. Bei den alten DOS-basierten Windows-Versionen (Win95, Win98, WinME) muss "cmd" durch "command" ersetzt werden: if PLAT_WIN # command.go.*.rb=ruby $(FileNameExt) # command.go.subsystem.*.rb=1 command.go.*.rb=command /k ruby $(FileNameExt) command.go.subsystem.*.rb=2 Ich hoffe, das hilft etwas. Gruà Dirk Engel -- Dirk Engel http://www.theo1.physik.uni-stuttgart.de/~engel Universität Stuttgart Institut für Theoretische Physik 1