2013-07-22 5 views
1

Как сделать рубин G-WAN, чтобы использовать JRuby Вместо Ruby, это то, что я пробовал:Сделать рубин G-WAN, чтобы использовать JRuby

$ which ruby 
/usr/bin/ruby 
$ cd /usr/bin 
$ mv ruby ruby2 
$ ln -s `which jruby` ruby 
$ ruby --version 
jruby 1.7.4 (2.0.0) 2013-05-16 2390d3b on OpenJDK Client VM 1.7.0_40-b31 +indy [linux-i386] 
$ ruby2 --version 
ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux] 

но когда я установить Ruby, это сообщение появляется (это не показывает ранее):

test.rb: to use .rb scripts, install Ruby 

цель была, так что я не мог использовать в Java import api.Gwan (include_package api.Gwan), поскольку у нас нет (или я пока не нашел на документы) API предоставляется Ruby (для доступа к файлу cookie, доступа к KV и т. Д.)

EDIT: ах, я не думаю, что это было бы полезно -_-», так как не полный API реализован на Java Гван в

package api; 
public class Gwan { 
    public static native long getReply(long paramLong); 
    public static native void xbufCat(long paramLong, String paramString); 
    public static native long cycles64(); 
    public static native long getNs(); 
    public static native long getUs(); 
    public static native long getMs(); 
    public static native void logErr(long paramLong, String paramString); 
    public static native void report(long paramLong, int paramInt); 
} 

ответ

1

попытку заменить рубина JRuby

Это не сработает, потому что G-WAN проверяет, доступна ли рубиновая среда, вызывая рубин и проверяя ответ программы.

Однако мы могли бы добавить обнаружение JRuby. Но правильным способом использования Ruby может быть его интерфейс внедрения в C (если таковой имеется). Если вас интересует такое решение, пожалуйста, напишите нам правильную информацию (образец кода будет замечательным).

Так мы реализовали C, C++, D, Objective-C, C# и Java.

Что касается частичной реализации API G-WAN C для Java и Scala, это произошло по двум причинам:

  • многие функции G-WAN больше не будет быстро, как только завернутый в JNI (с конверсии данных, которые приходят с ним)

  • Очень мало разработчиков Java или Scala стремятся использовать высокопроизводительные замены для хорошо известных и широко используемых библиотек Java, поэтому спрос был небольшим (по крайней мере до сих пор).

Рубин и несколько других языков, были реализованы как CGI либо потому, что мы не нашли, как сделать это иначе, или потому, что, как и для PHP, документацию и код, который мы нашли просто не работает в G -WAN многопоточность.

Мы приветствуем помощь опытных пользователей на этих языках, которые мы не осваиваем.