ruby gem of the week 2007/25

22 06 2007

RealRand Echte Zufallszahlen erzeugen

Installation:

Kein Gem im technischen Sinne, trotzdem paßt es ganz gut hier rein.

Download und nähere Erläuterungen auf der Seite http://realrand.rubyforge.org/

Wer, aus welchem Grunde auch immer, echte Zufallszahlen haben will, sollte sich diese Tool ansehen.

Herkömmliche Zufallszahlen, die man in den üblichen Sprachen ermitteln kann sind nur pseudo-zufällig bzw. können, von einer Anfangszahl ausgehend sogar exakt wiederholt werden. Unter Linux gibt es ein Zufalls-Device, welches Zufallszahlen zurückgibt, die aus verschiedenen Quellen ziemlich nahe an Zufallszahlen herankommen.

Bei dem Tool, das ich heute beschreibe, werden Zufallszahlen geliefert, die aus dem zufälligen radioaktiven Zerfall, atmosphärischem Rauschen, bzw. aus mehreren zufälligen Quellen ermittelt werden.

Es gibt verschiedenen Web-Interfaces bzw. Web-Seiten, die Zufallszahlen anbieten. Dieses „gem“ faßt diese unter einer einheitlichen Oberfläche bzw. API zusammen. Zu beachten ist hier natürlich, daß eine Online-Verbindung ins WWW zur Verfügung stehen muß, wenn diese Services genutzt werden sollen.

Näheres zu den einzelnen Seiten bzw. deren Services unter der oben angegebenen Adresse.

Man kann in diesem gem nun bestimmen, von welcher Seite man Zufallszahlen abrufen will, sowie Anzahl oder Wertebereich der Zufallszahlen.

Ein Beispiel des Autors:

require ‚random/online‘

generator1 = Random::RandomOrg.new
puts generator1.randbyte(42).join(„,“)

# Roll the dice a 100 times.
puts generator1.randnum(100, 1, 6).join(„,“)

generator2 = Random::FourmiLab.new
puts generator2.randbyte(7).join(„,“)

generator3 = Random::EntropyPool.new
puts generator3.randbyte(5).join(„,“)

Die Beispiele dürften ziemlich selbsterklärend sein.

randbyte() und randnum() liefern Bytes bzw. ganze Zahlen zurück. Mehr Funktionen gibt es hier auch nicht – aber das reicht ja für dieses Tool aus.

Je nach Quelle gibt es unterschiedliche Parameter, was zum Beispiel den Wertebereich oder die Anzahl der zurückzuliefernden Zahlen angeht. Falls eine dieser Grenzen überschritten wird, wird von diesem Gem eine Fehlermeldung ausgegeben. Bei normalem Gebrauch sollten diese Grenzen aber nicht überschritten werden und nicht weiter interessieren.

Ausblick:

Gibt es Vorschläge, welches Gem ich nächste Woche hier beschreiben soll? Falls nicht, werde ich eines nehmen, das mir persönlich interessant erscheint.

Advertisements

Aktionen

Information

One response

22 06 2007
ruby gem of the week « thopre

[…] 2007/25 RealRand […]

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s




%d Bloggern gefällt das: