ruby-mine

exploring the mine

Ruby Draft Specification

von janfri am 01.12.2009 (10 Uhr)

Einige Monate ist es her, dass auf der RubyWorldConf 2009 die ersten Informationen bezüglich eines Standardiserungsprozesses veröffentlicht wurden. Heute wurde nun eine erste Version der Ruby Draft Specification veröffentlicht. Man kann sich das 341-Seitige PDF (zum Glück in Englisch und nicht Japanisch) auf der Seite herunterladen. Es tut sich also tatsächlich was in Bezug auf eine offizielle Spezifikation von Ruby. Die Autoren des Dokumentes bitten nun die Community um Feedback. Bleibt abzuwarten, ob es nur bei einem “Draft” bleibt.

Anfrage bezüglich eines Reviews…

 
Kommentare (0)

Bench - Ein Frühsommer-Hack

von janfri am 11.06.2008 (11 Uhr)

Wann hast Du das letzte mal die Bibliothek benchmark aus der Ruby Standardbibliothek benutzt? Kannst Du Dich noch erinnern, wie die Methoden heißen, die man braucht, um einen Benchmarkbericht zu erzeugen?

Ich muss jedes mal neu in der API-Dokumentation nachschauen, weil die Bibliothek für mich nicht gerade intuitiv ist, so dass ich die Benutzung immer wieder vergesse. Aber dem kann man ja Abhilfe schaffen…


Vollständigen Artikel lesen...
 
Kommentare (4)

Programm-Trace abspulen

von janfri am 18.04.2007 (20 Uhr)

Ganz ohne Aufsehen wurde vor einigen Tagen ein kleines Helferlein für die Ruby-Werkzeugkiste veröffentlicht: Unroller. Zweck dieser Ruby-Bibliothek ist menschenlesbare Traces der Programmausführung zu generieren – und das auch noch in bunt:

Unroller eignet sich besonders zum Analysieren von unbekannten Bibliotheken oder auch zur Fehlersuche. Installiert wird die Bibliothek einfach via gem1 (gem install unroller).

Es gibt zwei grundlegende Ansätze die Trace-Funktionalität zu nutzen: Entweder globales Tracing, unter Verwendung der Methoden Unroller.trace zum Einschalten und Unroller.trace_off zum Ausschalten der Trace-Ausgabe oder lokales Tracing, indem der Methode Unroller.trace ein Block mitgegeben wird und die Ausgabe nur für die darin aufgerufenen Methoden stattfindet. Die erste Möglichkeit ist insbesondere für längere Programmstücke geeignet, während sich letztere besonders gut zum Testen einzelner Methoden benutzen lässt, wie obiges Beispiel zeigt.

Für die Feinabstimmung der Ausgabe gibt es noch diverse Optionen, z. B. um bestimmte Klassen oder Methoden von der Ausgabe auszuschließen oder die Ausgabetiefe zu begrenzen. Weitere Infos dazu sind in der API-Doku nachzulesen.

1 Unter Windows muss außerdem win32console installiert sein.

 
Kommentare (0)