J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de donnée,
mais ce que je voudrais faire c'est en créer un nouveau. Est-ce possible ?
L'idée serait de créer l'opérateur présent en language perl =~ qui applique
une Regex directement sur la chaine de caractère qui est à gauche. Par
exemple :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
OlivierH
Salut Zainal,
Pourquoi ne pas utiliser une fonction ?
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{ // TODO }
Olivier
Zainal a écrit :
Bonjour à tous,
J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de donnée, mais ce que je voudrais faire c'est en créer un nouveau. Est-ce possible ?
L'idée serait de créer l'opérateur présent en language perl =~ qui applique une Regex directement sur la chaine de caractère qui est à gauche. Par exemple :
if("machaine" =~ "[^0-9]*") { // TODO }
Merci par avance FEREYRE Matthieu
Salut Zainal,
Pourquoi ne pas utiliser une fonction ?
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{
// TODO
}
Olivier
Zainal a écrit :
Bonjour à tous,
J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de donnée,
mais ce que je voudrais faire c'est en créer un nouveau. Est-ce possible ?
L'idée serait de créer l'opérateur présent en language perl =~ qui applique
une Regex directement sur la chaine de caractère qui est à gauche. Par
exemple :
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{ // TODO }
Olivier
Zainal a écrit :
Bonjour à tous,
J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de donnée, mais ce que je voudrais faire c'est en créer un nouveau. Est-ce possible ?
L'idée serait de créer l'opérateur présent en language perl =~ qui applique une Regex directement sur la chaine de caractère qui est à gauche. Par exemple :
if("machaine" =~ "[^0-9]*") { // TODO }
Merci par avance FEREYRE Matthieu
Zainal
Pour le plaisir. :)
"OlivierH" <"nospam[contact]" a écrit :
Salut Zainal,
Pourquoi ne pas utiliser une fonction ?
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{ // TODO }
Olivier
Zainal a écrit : > Bonjour à tous, > > J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de donnée, > mais ce que je voudrais faire c'est en créer un nouveau. Est-ce possible ? > > L'idée serait de créer l'opérateur présent en language perl =~ qui applique > une Regex directement sur la chaine de caractère qui est à gauche. Par > exemple : > > if("machaine" =~ "[^0-9]*") > { > // TODO > } > > Merci par avance > FEREYRE Matthieu >
Pour le plaisir. :)
"OlivierH" <"nospam[contact]" a écrit :
Salut Zainal,
Pourquoi ne pas utiliser une fonction ?
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{
// TODO
}
Olivier
Zainal a écrit :
> Bonjour à tous,
>
> J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de donnée,
> mais ce que je voudrais faire c'est en créer un nouveau. Est-ce possible ?
>
> L'idée serait de créer l'opérateur présent en language perl =~ qui applique
> une Regex directement sur la chaine de caractère qui est à gauche. Par
> exemple :
>
> if("machaine" =~ "[^0-9]*")
> {
> // TODO
> }
>
> Merci par avance
> FEREYRE Matthieu
>
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{ // TODO }
Olivier
Zainal a écrit : > Bonjour à tous, > > J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de donnée, > mais ce que je voudrais faire c'est en créer un nouveau. Est-ce possible ? > > L'idée serait de créer l'opérateur présent en language perl =~ qui applique > une Regex directement sur la chaine de caractère qui est à gauche. Par > exemple : > > if("machaine" =~ "[^0-9]*") > { > // TODO > } > > Merci par avance > FEREYRE Matthieu >
Christophe Lephay
"Zainal" a écrit dans le message de news:
Pour le plaisir. :)
"OlivierH" <"nospam[contact]" a écrit :
Salut Zainal,
Pourquoi ne pas utiliser une fonction ?
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{ // TODO }
Zainal a écrit : > Bonjour à tous, > > J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de > donnée, > mais ce que je voudrais faire c'est en créer un nouveau. Est-ce > possible ?
On ne peut que redéfinir certains opérateurs. On ne peut pas en créer de nouveaux. On ne peut pas non plus en changer la syntaxe (par exemple un opérateur prenant deux paramètres ne peut pas être redéfini comme n'en prenant qu'un seul).
D'une manière générale, la redéfinition des opérateurs est intéressante lorsqu'on définit des types ayant une sémantique de valeur (des structures, de manière typique). Dans les autres cas, c'est plus souvent une source de problèmes qu'autre chose, d'une part car c'est alors facilement contre-intuitif, d'autre part (et surtout) parce que les opérateurs sont static, et donc susceptibles de poser problème avec des objets polymorphes.
"Zainal" <Zainal@discussions.microsoft.com> a écrit dans le message de news:
20B44FBA-643D-4748-96CE-7C33B895F8ED@microsoft.com...
Pour le plaisir. :)
"OlivierH" <"nospam[contact]" a écrit :
Salut Zainal,
Pourquoi ne pas utiliser une fonction ?
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{
// TODO
}
Zainal a écrit :
> Bonjour à tous,
>
> J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de
> donnée,
> mais ce que je voudrais faire c'est en créer un nouveau. Est-ce
> possible ?
On ne peut que redéfinir certains opérateurs. On ne peut pas en créer de
nouveaux. On ne peut pas non plus en changer la syntaxe (par exemple un
opérateur prenant deux paramètres ne peut pas être redéfini comme n'en
prenant qu'un seul).
Les opérateurs pouvant être redéfinis sont énumérés ici
http://msdn2.microsoft.com/fr-fr/library/8edha89s(vs.80).aspx
D'une manière générale, la redéfinition des opérateurs est intéressante
lorsqu'on définit des types ayant une sémantique de valeur (des structures,
de manière typique). Dans les autres cas, c'est plus souvent une source de
problèmes qu'autre chose, d'une part car c'est alors facilement
contre-intuitif, d'autre part (et surtout) parce que les opérateurs sont
static, et donc susceptibles de poser problème avec des objets polymorphes.
Quel est l'interet d'un nouvel operateur dans ce cas ?
if(testRegEx("machaine","[^0-9]*")
{ // TODO }
Zainal a écrit : > Bonjour à tous, > > J'ai bien vu que l'on pouvais redéfinir un opérateur pour un type de > donnée, > mais ce que je voudrais faire c'est en créer un nouveau. Est-ce > possible ?
On ne peut que redéfinir certains opérateurs. On ne peut pas en créer de nouveaux. On ne peut pas non plus en changer la syntaxe (par exemple un opérateur prenant deux paramètres ne peut pas être redéfini comme n'en prenant qu'un seul).
D'une manière générale, la redéfinition des opérateurs est intéressante lorsqu'on définit des types ayant une sémantique de valeur (des structures, de manière typique). Dans les autres cas, c'est plus souvent une source de problèmes qu'autre chose, d'une part car c'est alors facilement contre-intuitif, d'autre part (et surtout) parce que les opérateurs sont static, et donc susceptibles de poser problème avec des objets polymorphes.