Jay*_*dse 1 ruby jruby ruby-1.9.2
我有一个网络应用程序,大多数情况下使用MRI Ruby和JRuby.但...
当我使用MRI时,我可以做到这一点.
> rails console
irb(main):001:0> a=Time.new(1,1,1,1,1)
=> 0001-01-01 01:01:00 -0500
Run Code Online (Sandbox Code Playgroud)
即它在指定时间内创建一个新的Time对象.
当我切换到JRuby时,我这样做
> rails console
irb(main):001:0> a=Time.new(1,1,1,1,1)
ArgumentError: wrong number of arguments (5 for 0)
from (irb):2: in `evaluate`
from org/jruby/RubyKernel.java:1088 in `eval`
from /home/user/.rbenv/versions/jruby-1.6.4/lib/ruby/1.8/irb.rb:158 in `eval_input`
from /home/user/.rbenv/versions/jruby-1.6.4/lib/ruby/1.8/
....
Run Code Online (Sandbox Code Playgroud)
如何在JRuby中创建一个Time对象,其中包含我控制的年,月,日,小时和分钟?如果是这样,这可以用于MRI Ruby吗?
我不知道这是否相关,但是
irb(main):002:0> RUBY_VERSION
"1.8.7"
Run Code Online (Sandbox Code Playgroud)
我的问题可能是因为我处于1.8.7模式吗?如果是这样,如何将我的rbenv/jruby-1.6.4安装切换为RUBY_VERSION = 1.9.2?
是的,它与RUBY_VERSION有关
你需要JRUBY处于1.9模式.
您可以通过JRUBY_OPTS设置此项
试试这个:
export JRUBY_OPTS=--1.9
Run Code Online (Sandbox Code Playgroud)
或者这个(在Windows上):
set JRUBY_OPTS=--1.9
Run Code Online (Sandbox Code Playgroud)
示例会话(Windows):
> set JRUBY_OPTS=--1.9
> jirb
irb(main):001:0> a=Time.new(1,1,1,1,1)
=> 0001-01-01 01:01:00 +0918
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
604 次 |
最近记录: |