Informazione codice

Salve, spero di non essere off-topic in quanto c, ma chiedo lo stesso.
Ho questo pezzo di codice preso da string.c dei source di ruby (ho preso
il pezzo di codice a caso).
Non capisco perche’ dopo rb_str_new ci siano delle righe di definizione
delle variabili. Qualcuno sa spiegarmi cosa sono ? :stuck_out_tongue:

VALUE
rb_str_new(ptr, len)
const char *ptr;
long len;
{
return str_new(rb_cString, ptr, len);
}

grazie, joxer

Il giorno 29 agosto 2009 20.49, joxer[email protected] ha scritto:

VALUE
rb_str_new(ptr, len)
const char *ptr;
long len;
{
return str_new(rb_cString, ptr, len);
}

la funzione è tutta qui o c’è dell’altro?

pietro

Pietro G. wrote:

la funzione è tutta qui o c’è dell’altro?

pietro


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

ho preso questa funzione ad esempio. Tutte le altre sono strutturate
allo stesso modo tipo:

VALUE
rb_str_new5(obj, ptr, len)
VALUE obj;
const char *ptr;
long len;
{
return str_new(rb_obj_class(obj), ptr, len);
}

oppure :

static VALUE
rb_str_length(str)
VALUE str;
{
return LONG2NUM(RSTRING(str)->len);
}

grazie, joxer

Il giorno 29 agosto 2009 21.02, joxer[email protected] ha scritto:

return str_new(rb_obj_class(obj), ptr, len);

ok, la questione qui è come è definita la macro VALUE, senza di quella
non so proprio che dire.

pietro

Pietro G. wrote:

long len;
return LONG2NUM(RSTRING(str)->len);
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

VALUE e’ un tipo di dato nei source ruby

joxer

joxer wrote:

ho preso questa funzione ad esempio. Tutte le altre sono strutturate
}
grazie, joxer

Mi rispondo da solo. Ho trovato che e’ una vecchia notazione del c ed e’
equivalente a definire il tipo dentro le parentesi. Non so che vantaggio
abbia o cosa altro.

grazie, joxer