请告诉我是否可以执行以下操作:
你能提供一个小例子吗?
编辑:事实证明,嵌入是实现这一目标的最简单方法.有关嵌入JRuby的更多信息.
我已经读过,由于字节码编译,最新版本的Ruby解释器(YARV)将有显着的性能提升.我的问题是有没有人尝试过对抗JRuby?Windows上执行的任何显着差异?
这个链接有一些很好的指标,但大多数是在Linux上运行的... http://antoniocangiano.com/2007/02/19/ruby-implementations-shootout-ruby-vs-yarv-vs-jruby-vs-gardens-point -ruby净VS-Rubinius的-VS-基数/
提前致谢!
托德
我用Ruby编程了一段时间,我真的很喜欢它.最近我开始需要编译一些ruby代码.有几个原因使用Ruby2exe不是我的选择.所以我决定尝试Jruby(生成一个罐子就足够了).
我正在使用Windows,我安装了java JDK 6u17(在C:\ Program Files\Java\jdk1.6.0_17).
我在C:\ jruby安装了jruby 1.4
我在java中创建了一个hello world,编译并执行它就好了(所以java工作正常).
我创建了一个文件"script.rb":
puts "Hello, world"
我用jruby运行这个程序:
jruby script.rb
它工作正常.
我确实将JAVA_HOME设置为C:\ Program Files\Java\jdk1.6.0_17
我也成功运行:
java -jar c:\jruby\lib\jruby.jar script.rb
然后我用命令编译:
jruby -S jrubyc script.rb
它生成类'script.class'
我的问题是我找不到正确执行script.class的方法
我尝试:
java -cp .:c:\jruby\lib\jruby.jar script
我收到错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: script
Caused by: java.lang.ClassNotFoundException: script
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: script. Program will …Run Code Online (Sandbox Code Playgroud) 我熟悉一些JRuby代码,我希望能够在代码中放置一个断点并从命令行运行(像往常一样),让它在到达那一点时进入调试器.我可以在代码中添加一些东西来强制JRuby进入调试器吗?
我试过运行jruby -r debug foo.rb(而不是通常jruby foo.rb),然后设置断点b bar.py:98,然后继续.但是每次出现异常时调试器都会停止,并且在它到达我感兴趣的代码行之前似乎有很多它们.我希望能够将"break-into-debugger"放入在我的代码中运行并运行jruby foo.rb调试器停在该行的第一个位置.
(即我正在寻找import pdb;pdb.set_trace()Python中的Ruby/JRuby等价物.)
我刚开始使用JRuby on Rails并且非常喜欢它.我知道如何在我的Rails应用程序中使用Java API中的当前类,但如果我想创建一个用纯Java代码编写的新自定义类,我怎样才能在我的Rails应用程序中使用它?
例如,假设我创建了Dog.java:
class Dog {
private String name;
public Dog() {
name = "Fido";
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能在我的Rails应用程序中创建一个新的Dog对象(Dog.new)?我需要将Dog.java或Dog.class文件放在某处,然后调用某种形式的"import"将其导入我的Rails应用程序.我不知道这应该放在目录结构中,也不知道我应该在哪里以及如何告诉我的应用程序如何包含它.
我正试图找到一种方法将FDF文件内容注入可填写的PDF文件(由客户提供,而不应该使用Prawn或PDFKit'重新绘制'),我想我必须使用iText(与JRuby一起使用) )或pdftk.
这两个lib在我的Ubuntu本地机器上都没有问题,但我想知道如何让他们在Heroku上工作.有没有人试图让iText(JRuby)或PDFTK在Heroku上工作?
谢谢你的帮助!
我正在尝试获取对象#fick in ruby的访问权限.
我认为仅仅包括activesupport就可以了,但事实并非如此.
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'active_support'
=> true
irb(main):003:0> o = Object.new
=> #<Object:0x15d45d9>
irb(main):004:0> o.respond_to? :try
=> false
irb(main):005:0>
Run Code Online (Sandbox Code Playgroud)
我如何获得访问权限Object#try?
我使用IntelliJ IDEA 9.0.4与最新版本的Ruby插件和JRuby 1.6.0.自动填充似乎不起作用.按ctrl-space只能显示一些顶级的东西.
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
Run Code Online (Sandbox Code Playgroud)
如果我输入M和ctrl-space,我希望在列表中看到Mechanize,但我什么都没得到.如果我在空行上进行ctrl-space,我会得到一些顶级的东西(FILE,LINE,别名,开始...).
是否可以为我导入的类集成Java自动完成功能java_import?Ruby中定义的方法也很不错,但这更像是一种糖果.
我有一个ruby应用程序,我使用warbler编译成一个jar.我可以使用像这样的命令独立运行它java -jar executable.jar.但是我无法弄清楚如何在Java代码中使用这个jar.具体来说,我想在Java代码中创建Ruby类的对象,然后调用方法.
jruby ×10
ruby ×4
java ×3
jrubyonrails ×2
autocomplete ×1
break ×1
compilation ×1
debugging ×1
emacs ×1
heroku ×1
itext ×1
jar ×1
pdftk ×1
scripting ×1
warbler ×1