린다(루비 프로그래밍 언어)
Rinda (Ruby programming language)Rinda는 튜플 공간 또는 Linda 분산 컴퓨팅 패러다임을 사용하여 Ruby에서 모듈러형 및 분산형 공동 운영 서비스를 만드는 소프트웨어 라이브러리입니다.
2000년 [1]SEKI 마사토시에 의해 루비 커뮤니티에 최초로 공개된 소스 코드를 바탕으로 Rinda는 이후 Ruby의 핵심 분산형 Ruby(DRB) 모듈에 흡수되었다.Rinda는 Ruby 1.8 이후 핵심 Ruby 라이브러리의 일부로 배포되었습니다.
사용 예
Rinda는 공유 데이터 저장소(tuplespace)에 저장된 튜플(요소의 순서부여 목록)을 추가, 액세스 및 수정할 수 있는 프레임워크를 제공합니다.
예를 들어, 다음 프로그램은 새로운 Rinda tuplespace를 생성하여 네트워크를 통한 요구를 대기하는 DRB 서비스를 초기화합니다.
요구하다 '린다/튜플스페이스' URI = "드루비://localhost:61676" DRB.start_service(URI, 린다::태플 스페이스.신규) DRB.실.합류하다 Rinda를 사용하면 다른 응용 프로그램은 특정 기준에 일치하는 튜플을 위해 튜플스페이스를 폴링할 수 있습니다.
예를 들어, 아래의 프로그램은 Rinda 서비스에 접속하여 두 개의 숫자(예를 들어 "+ 2 4" 시퀀스) 뒤에 산술 연산자로 구성된 모든 태플을 청취합니다. 이러한 태플이 발견되면 프로그램은 수학적 연산 결과를 계산하여 (예를 들어 "+ 2 4"를 "6"으로 처리함) 다중 공간에 저장합니다.
요구하다 '린다/린다' URI = "드루비://localhost:61676" DRB.start_service ts = 린다::TupleSpaceProxy.신규(DRB 오브젝트.신규(제로, URI)) 고리 하다 동작, a, b = ts.가지고 가다([ %r{^[-+/*]$}, 숫자, 숫자]) ts.쓰다(['결과", a.보내세요(동작, b)]) 끝. 마지막으로 Rinda 어플리케이션은 튜플스페이스에서 튜플을 추가하거나 삭제할 수 있습니다.
예를 들어, 다음 프로그램은 프리픽스 산술 튜플을 튜플스페이스에 게시하고 결과를 읽어냅니다(위 프로그램에 의해 게시됨).
요구하다 '린다/린다' URI = "드루비://localhost:61676" DRB.start_service ts = 린다::TupleSpaceProxy.신규(DRB 오브젝트.신규(제로, URI)) 튜플 = [["*", 2, 2 ], [ "+", 2, 5 ], [ "-", 9, 3 ]] 튜플.각각 하다 t ts.쓰다(t) 인식하다 = ts.가지고 가다(['결과", 제로]) 놓다 "#{인식하다[1]}=#{t[1]} #{t[0]} #{t[2]}" 끝. 외부 링크
레퍼런스
- ^ "Tuplespace". Ruby Application Archive (RAA). Retrieved 26 October 2011.