9 Dec 2002 17:36
Re: Hilfe: DRb/TupleSpace - Problem
<armin <at> approximity.com>
2002-12-09 16:36:02 GMT
2002-12-09 16:36:02 GMT
> > Ich habe begonnen, mich mit Rubys TupleSpace zu beschaeftigen und bin auch > > gleich auf ein Problem gestossen, das ich mir nicht erklaeren kann. Auch > > im Netz habe ich dazu nichts gefunden. Vielleicht kann mir jemand von euch > > dabei helfen? > > entschuldige die bloede frage: was ist tupelspace, und wofuer kann > man es gebrauchen? > Ich habe seit Monaten nichts mehr damit gemacht, aber ich denke so in etwa ist es. Der Name Tuple kommt aus der Mathematik und beschreibt ein Array von Werten. Ein Tuple-space kann verteilt sein in einem greren Tuple-Space, wie eine Schachtel in einer Schachtel oder die bekannten russischen Puppen. Jeder Tuplespacke kennt drei Operatoren: - out: ein Tuple speichern - in: ein Tuple aus dem Tuple space herausholen - rd: ein Tuple aus dem Tuple space auslesen, aber es bleibt im Tuplespace. Die Methoden in und rd sind sehr maechtig, da sie einen Mustervergleich durchfuehren knnen. Gibt man hier ein Muster an, wird der Tuplespace ein Tuple zurueckliefern, auf welches das Muster passt. Wenn unser kommunaler Tuplespace registriert, welche Musiktitel man sich gerade anhrt, kann man diese Information (mit dem Benutzernamen als Schlssel) speichern: ts.out [ 'armin', track ] Jemand in Amerika koennte nun herausfinden was ich gerade anhre: name, track = ts.rd [ 'armin', nil ] Das (einfache) Muster ist in diesem Beispiel der Parameter von #rd: Der Tuplespace wird alle Eintraege liefern, die "armin" im ersten Wert hat. Beim Wechsel zum nchsten Musikstck kann man den alten Eintrag lschen und einen neuen einschieben. ts.in [ 'armin', nil ] ts.out [ 'armin', track ] In der Regel wird man anspruchsvollere Protokolle fur Tuplespaces mit diesen einfachen Operationen implementieren. Ciao, -A. ----------------------------------------------- Armin Roehrl, http://www.approximity.com Training, Development and Mentoring OOP, XP, Java, Ruby, Smalltalk, .Net, Datamining, Parallel computing, Webservice
RSS Feed