2011-10-20 1 views
1

MRI Ruby 및 JRuby에서 작동하는 웹 앱이 있습니다. 그러나 ...Ruby vs JRuby : Time.new

나는 MRI를 사용할 때 이것을 할 수있다.

> rails console 
irb(main):001:0> a=Time.new(1,1,1,1,1) 
=> 0001-01-01 01:01:00 -0500 

즉, 지정된 시간 동안 새 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/ 
.... 

어떻게 내가 제어 년, 월, 일,시, 분에 JRuby에서의 시간 객체를 생성 할 수 있습니까? 그렇다면 MRI Ruby에서도 작동 할 수 있습니까? 나는 1.8.7 모드이기 때문에

이가 관련이 있는지 모르겠지만,

irb(main):002:0> RUBY_VERSION 
"1.8.7" 

내 문제가 될 수 있을까요? 그렇다면 어떻게 rbenv/jruby-1.6.4 설치를 RUBY_VERSION = 1.9.2처럼 전환합니까?

+1

HTTP : //stackoverflow.com/questions/4755900/how-to-make-jruby-1-6-default-to-ruby-1-9 – kreek

답변

7

예, RUBY_VERSION과 관련이 있습니다.
1.9 모드로 전환하려면 JRUBY가 필요합니다.

export JRUBY_OPTS=--1.9 

을하거나 (Windows의 경우) : 당신은 JRUBY_OPTS 통해 설정할 수 있습니다

이 시도

set JRUBY_OPTS=--1.9 

예 세션 키 (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 
+0

Kevin에게 감사드립니다. 그랬어! –