Rinda (programovací jazyk Ruby) - Rinda (Ruby programming language)
tento článek potřebuje další citace pro ověření.Dubna 2016) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Rinda je softwarová knihovna pro vytváření modulárních a distribuovaných služeb spolupráce v Rubín za použití n-tice prostor nebo Linda distribuované výpočty paradigma.
Na základě zdrojového kódu, který komunitě Ruby původně vydal Masatoshi SEKI v roce 2000,[1] Rinda byla později vstřebána do Rubyina jádra distribuovaný Ruby (DRb) modul. Rinda byl distribuován jako součást základní knihovny Ruby od verze Ruby 1.8.
Příklad použití
Rinda poskytuje rámec, pomocí kterého může více procesů Ruby (které mohou nebo nemusí běžet na stejném počítači) přidávat, přistupovat a upravovat n-tice (seřazený seznam prvků) uložený ve sdíleném úložišti dat (tuplespace).
Například následující program vytvoří nový tuplespace Rinda a inicializuje službu DRb, která čeká na požadavky přicházející přes síť.
vyžadovat 'rinda / tuplespace'URI = "druby: // localhost: 61676"DRb.start_service(URI, Rindo::TupleSpace.Nový)DRb.vlákno.připojit se
Pomocí aplikace Rinda mohou jiné aplikace dotazovat tuplespace na n-tice, které odpovídají konkrétním kritériím.
Například níže uvedený program se připojuje ke službě Rinda a poslouchá jakoukoli n-tici složenou z aritmetického operátoru následovaného dvěma čísly (například posloupnost „+ 2 4“). Když je taková n-tice objevena, program vypočítá výsledek matematické operace ( například zpracování „+ 2 4“ na „6“) a uložení do tuplespace.
vyžadovat 'rinda / rinda'URI = "druby: // localhost: 61676"DRb.start_servicets = Rinda::TupleSpaceProxy.Nový(DRbObject.Nový(nula, URI))smyčka dělat ops, A, b = ts.vzít([ % r {^ [- + / *] $}, Číselné, Číselné]) ts.psát si(["výsledek", A.poslat(ops, b)])konec
Nakonec mohou aplikace Rinda přidat nebo odebrat n-tice z tuplespace.
Například následující program zveřejňuje předponu aritmetické n-tice do tuplespace a přečte výsledek (zveřejněný výše uvedeným programem).
vyžadovat 'rinda / rinda'URI = "druby: // localhost: 61676"DRb.start_servicets = Rinda::TupleSpaceProxy.Nový(DRbObject.Nový(nula, URI))n-tice = [["*", 2, 2 ], [ "+", 2, 5 ], [ "-", 9, 3 ]]n-tice.každý dělat |t| ts.psát si(t) res = ts.vzít(["výsledek", nula]) uvádí "#{res[1]} = #{t[1]}#{t[0]}#{t[2]}"konec
externí odkazy
Reference
- ^ „Tuplespace“. Archiv aplikací Ruby (RAA). Citováno 26. října 2011.
Tento programovací nástroj související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |