J'ai vu quelques définitions de fonctions comme celle-ci récemment en jouant avec GNU Bison:
static VALUE
ripper_pos(self)
VALUE self;
{
//code here
}
Pourquoi le type de self
dehors de la parenthèse? Est-ce un C valide?
J'ai vu quelques définitions de fonctions comme celle-ci récemment en jouant avec GNU Bison:
static VALUE
ripper_pos(self)
VALUE self;
{
//code here
}
Pourquoi le type de self
dehors de la parenthèse? Est-ce un C valide?
Ce sont d'anciennes déclarations de paramètres de fonction de style K&R, déclarant les types de paramètres séparément:
int func(a, b, c)
int a;
int b;
int c;
{
return a + b + c;
}
C'est la même chose que la façon la plus moderne de déclarer des paramètres de fonction:
int func(int a, int b, int c)
{
return a + b + c;
}
Les déclarations de "nouveau style" sont fondamentalement universellement préférées.
Il s'agit de la soi-disant "ancienne" variante de déclaration des arguments de fonction. Autrefois, vous ne pouviez pas simplement écrire des types d'argument entre parenthèses, mais vous deviez le définir pour chaque argument juste après la parenthèse fermante.
En d'autres termes, cela équivaut à ripper_pos( VALUE self )
C'est la syntaxe de déclaration de fonction C à l' ancienne .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.