2013-03-06 1 views
2

Objective C (Mac OSX 앱)에서 특정 Ruby 라이브러리 (자연 언어 처리)를 호출하려고합니다. 그러나 Objective C에서 Ruby를 사용하여 루비에만있는 특정 라이브러리를 사용하는 프로그래밍을 최대한 활용하고 싶습니다.Objective C의 Ruby 클래스/스크립트 호출 - MacRuby는 잔인합니까?

저는 MacRuby를 보았습니다. 모든 응용 프로그램에서 Ruby 구문을 사용할 것으로 예상되는 반면 ObjC는 대부분 한 부분의 루비 클래스에 대한 인터페이스로 사용하고 있습니다.

나는 명령 행에서 루비 스크립트를 호출 할 수 있다는 것을 알고 있지만, 어떤 종류의 통합은 훨씬 유용하다고 생각한다.

그래서 질문은 - 내가 MacRuby로 위에서 설명한 흐름을 얻을 수 있습니까? 아니면 다른 것을 조사해야합니까?

+0

Ruby 라이브러리가 MacRuby 또는 MRI (MacRuby 이외의 다른 것)로 포팅되어 있습니까? –

+0

아니요 루비 일 뿐이므로 잘 RJB를 사용하므로 일부 Java도 있습니다 (문제가있는 경우). – Stpn

+0

MacRuby를 사용하기 전에 먼저 MacRuby로 이식해야합니다. –

답변

4

MacRuby를 사용하여이 작업을 수행 할 수 있지만 두 환경간에 매우 많이 상호 작용해야하는 경우가 아니면 다른 옵션보다 많은 이점을 제공한다고 생각하지 않습니다. MacRuby는 Ruby의 Objective-C 세계와 더 많이 상호 작용하지만, 프로젝트에서 두 언어를 자유롭게 혼합 할 수 있습니다. 솔직히 말해서 가장 간단한 대답은 시스템 Ruby를 사용하는 것입니다. 이것이 어떤 이유로 부적합한 경우 Ruby C API를 사용하여 Ruby 코드와 대화 할 수 있습니다. 프로그래밍 루비에는 example of this이 있습니다.

+0

정말 놀랍습니다. 고맙습니다! – Stpn

+0

내 경우에 "그냥 시스템 루비를 사용하는 것"이 ​​무슨 뜻인지 설명해 주시겠습니까? – Stpn

+0

@Stpn : 원하는 프로그램으로/usr/bin/ruby를 실행하는 NSTask를 사용한다는 의미입니다. 그것이 당신의 필요에 맞는 경우 가장 적은 작업입니다 옵션입니다. – Chuck