2010-07-09 11 views

Antwort

5

Ruby benötigt mehr Dokumentation. Ich hatte in die Ruby-Quellcode zu gehen, und das ist, was ich gefunden habe:

VALUE 
rb_rescue(VALUE (* b_proc)(ANYARGS), VALUE data1, 
     VALUE (* r_proc)(ANYARGS), VALUE data2) 
{ 
    return rb_rescue2(b_proc, data1, r_proc, data2, rb_eStandardError, 
       (VALUE)0); 
} 

Also, die Antwort auf meine Frage (i guess) wäre:

rb_rescue2(x, Qnil, y, Qnil, rb_eException, (VALUE)0); 

VALUE x(void) { /* ... */ return Qnil; } 
VALUE y(void) { /* ... */ return Qnil; } 
+1

+1 Genau die gleichen Hit Problem und diese Entdeckung löste mein Problem. –

+0

Ich würde das abstimmen, aber mir ist nicht klar, was Callbacks was machen. Was wird im Falle einer Rettung gerufen? Was wird gerettet? –

+0

Ich würde annehmen, 'b_proc' ist der Code nach der Anweisung' begin' und 'r_proc' ist der Rettungscode. – Vortico

Verwandte Themen