이런 식으로 뭔가를하려고하지만 내 C 코드에서 Ruby 내부를 사용하는 방법을 이해하는 데 문제가 있습니다. 내가 뭘 원하는 문자열로 vdate의 패스Ruby C 확장 프로그램에서 Date 객체를 어떻게 만듭니 까?
static VALUE func_get_date_object(VALUE self, VALUE vdate){
VALUE rb_date;
VALUE date;
rb_date = rb_funcall(rb_intern("Date"), rb_intern("new"), 0);;
date = rb_funcall(rb_date, rb_intern("parse"), 0);
return date;
}
입니다 같은 당신 것 다음 Date.parse ('YYYY-MM-DD')
하지만 먼저 내가 방법을 알 필요가 있다고 생각을위한 루비를 위해 C에서 새로운 Date 클래스 객체를 생성하거나 인스턴스화한다. 어떻게해야할까요?
이 작업을 수행하는 코드에 대해 작성된 테스트가 있습니다.
def test_date
assert_equal('', @t.date(@t_date_str))
end
출력
NoMethodError: undefined method `new' for 18709:Fixnum
그 코드가 아마하지 않은 Date.new.parse' '에 해당 rubygems.org에서 동일합니다. – tadman
을 그 코드도하지 않습니다 컴파일 그래서 내가 원하는대로 그냥 새로운 Date 개체를 사용할 수 있습니다. 내가 찾고 있었어 어떤 종류의 예를 찾고 있지만 행운을 그래서 그냥 링크가 멋지다. –
잘 컴파일하지만 내 테 t는 NoMethodError : 18709에 대해 정의되지 않은 메소드 'new': Fixnum –