"drkm" wrote in message
news:Mais Boost.Format permet justement de spécifier l'ordre dans la
chaîne de formatage, sans modifier l'ordre des opérandes dans les
sources. Et il utilise bien les IOStreams standards, non ?
Le GB_Format de James également, si je ne m'abuse.
Oui, on peut écrire ou utiliser une librairie pour faire cela. Je parlais des
IOStreams du standard.
En C:
printf("alphabetically: red %d, yellow: %dn", red, yellow);
en C++:
cout << "alphabetically: red " << red << ", yellow: " << yellow << "n";
Comment faire pour changer l'ordre pour le français, sans recompiler ni avoir
recours à une tierce librairie.
On peut le faire avec du code spécifique, mais c'est lourd.
"drkm" <usenet.fclcxx@fgeorges.org> wrote in message
news:wkwtwwdm9t.fsf@fgeorges.org...
Mais Boost.Format permet justement de spécifier l'ordre dans la
chaîne de formatage, sans modifier l'ordre des opérandes dans les
sources. Et il utilise bien les IOStreams standards, non ?
Le GB_Format de James également, si je ne m'abuse.
Oui, on peut écrire ou utiliser une librairie pour faire cela. Je parlais des
IOStreams du standard.
En C:
printf("alphabetically: red %d, yellow: %dn", red, yellow);
en C++:
cout << "alphabetically: red " << red << ", yellow: " << yellow << "n";
Comment faire pour changer l'ordre pour le français, sans recompiler ni avoir
recours à une tierce librairie.
On peut le faire avec du code spécifique, mais c'est lourd.
"drkm" wrote in message
news:Mais Boost.Format permet justement de spécifier l'ordre dans la
chaîne de formatage, sans modifier l'ordre des opérandes dans les
sources. Et il utilise bien les IOStreams standards, non ?
Le GB_Format de James également, si je ne m'abuse.
Oui, on peut écrire ou utiliser une librairie pour faire cela. Je parlais des
IOStreams du standard.
En C:
printf("alphabetically: red %d, yellow: %dn", red, yellow);
en C++:
cout << "alphabetically: red " << red << ", yellow: " << yellow << "n";
Comment faire pour changer l'ordre pour le français, sans recompiler ni avoir
recours à une tierce librairie.
On peut le faire avec du code spécifique, mais c'est lourd.
Enfin pour ce qui est de la flexibilité pour la traduction avec changement
d'ordre des paramètres, des quatre seuls C et Perl s'y prêtent
Enfin pour ce qui est de la flexibilité pour la traduction avec changement
d'ordre des paramètres, des quatre seuls C et Perl s'y prêtent
Enfin pour ce qui est de la flexibilité pour la traduction avec changement
d'ordre des paramètres, des quatre seuls C et Perl s'y prêtent
Gabriel Dos Reis writes:
|> drkm writes:
|> | Jean-Marc Bourguet writes:
|> | > C'est la beauté des templates :-)
|> | Bof. En C, on a les macros de préprocesseur ;-)
|> T'as essayé ? semi ;-)
Oui:-). Et beauté n'est pas exactement le mot que je choisirais (pour la
solution à base de macros).
(Ceci dit, je ne comprends pas la rémarque de Jean-Marc dans ce cas
précis.
Gabriel Dos Reis <gdr@cs.tamu.edu> writes:
|> drkm <usenet.fclcxx@fgeorges.org> writes:
|> | Jean-Marc Bourguet <jm@bourguet.org> writes:
|> | > C'est la beauté des templates :-)
|> | Bof. En C, on a les macros de préprocesseur ;-)
|> T'as essayé ? semi ;-)
Oui:-). Et beauté n'est pas exactement le mot que je choisirais (pour la
solution à base de macros).
(Ceci dit, je ne comprends pas la rémarque de Jean-Marc dans ce cas
précis.
Gabriel Dos Reis writes:
|> drkm writes:
|> | Jean-Marc Bourguet writes:
|> | > C'est la beauté des templates :-)
|> | Bof. En C, on a les macros de préprocesseur ;-)
|> T'as essayé ? semi ;-)
Oui:-). Et beauté n'est pas exactement le mot que je choisirais (pour la
solution à base de macros).
(Ceci dit, je ne comprends pas la rémarque de Jean-Marc dans ce cas
précis.
"Charlie Gordon" writes:
|> "Jean-Marc Bourguet" wrote in message
|> news:
|> > drkm writes:
|> > > Jean-Marc Bourguet writes:
|> > > > "Charlie Gordon" writes:
|> > > >> L'utilisation de + en
|> > > >> javascript ne donne pas de résultat satisfaisant non
|> > > >> plus...
|> > > > + est clairement de l'abus.
|> > > Que fait-il ?
|> > Je ne connais pas javascript, mais utiliser + pour effectuer des
|> > E/S comme à l'air de l'indiquer Charlie c'est pire que du Perl...
|> Non, + fait juste la concaténation des chaines en javascript. Le
|> problème est à la fois une question de lisibilité et un problème de
|> typage. On peut comparer la lisibilité respective de :
|> C: printf("x=%d, y=%dn", x, y);
|> C++: cout << "x=" << x << ", y=" << y << "n";
|> Javascript: document.write("x=" + x + ", y=" + y + "n");
|> Perl: print("x=$x, y=$yn");
|> Il faut bien reconnaitre que Perl est de loin le plus lisible.
Il faut comparer ce qui est comparable. Ajoutons un peu de formattage,
par exemple, pour sortir des expressions :
Basic: PRINT USING "x = ###0.00, y = 00", x * PI, y - 2
C : printf( "x = %6.2f, y = %02dn", x * PI, y - 2 ) ;
C++ : std::cout << "x = " << std::fix << std::setprecision( 2 )
<< std::setw( 6 ) << x * PI << ", y = " << std::setfill( '0' )
<< std::setw( 2 ) << y - 2 << std::endl ;
ou C++ : std::cout << "x = " << FmtFix( 6, 2 ) << x * PI
<< FmtZeroFill( 2 ) << y - 2
<< std::endl ;
(Le deuxième forme en C++ utilise les manipulateurs « maison ». Dans la
pratique, je ne crois pas qu'on fasse des sorties formattées en C++ sans
de manipulateurs maison.)
"Charlie Gordon" <news@chqrlie.org> writes:
|> "Jean-Marc Bourguet" <jm@bourguet.org> wrote in message
|> news:87y8hckos3.fsf@news.bourguet.org...
|> > drkm <usenet.fclcxx@fgeorges.org> writes:
|> > > Jean-Marc Bourguet <jm@bourguet.org> writes:
|> > > > "Charlie Gordon" <news@chqrlie.org> writes:
|> > > >> L'utilisation de + en
|> > > >> javascript ne donne pas de résultat satisfaisant non
|> > > >> plus...
|> > > > + est clairement de l'abus.
|> > > Que fait-il ?
|> > Je ne connais pas javascript, mais utiliser + pour effectuer des
|> > E/S comme à l'air de l'indiquer Charlie c'est pire que du Perl...
|> Non, + fait juste la concaténation des chaines en javascript. Le
|> problème est à la fois une question de lisibilité et un problème de
|> typage. On peut comparer la lisibilité respective de :
|> C: printf("x=%d, y=%dn", x, y);
|> C++: cout << "x=" << x << ", y=" << y << "n";
|> Javascript: document.write("x=" + x + ", y=" + y + "n");
|> Perl: print("x=$x, y=$yn");
|> Il faut bien reconnaitre que Perl est de loin le plus lisible.
Il faut comparer ce qui est comparable. Ajoutons un peu de formattage,
par exemple, pour sortir des expressions :
Basic: PRINT USING "x = ###0.00, y = 00", x * PI, y - 2
C : printf( "x = %6.2f, y = %02dn", x * PI, y - 2 ) ;
C++ : std::cout << "x = " << std::fix << std::setprecision( 2 )
<< std::setw( 6 ) << x * PI << ", y = " << std::setfill( '0' )
<< std::setw( 2 ) << y - 2 << std::endl ;
ou C++ : std::cout << "x = " << FmtFix( 6, 2 ) << x * PI
<< FmtZeroFill( 2 ) << y - 2
<< std::endl ;
(Le deuxième forme en C++ utilise les manipulateurs « maison ». Dans la
pratique, je ne crois pas qu'on fasse des sorties formattées en C++ sans
de manipulateurs maison.)
"Charlie Gordon" writes:
|> "Jean-Marc Bourguet" wrote in message
|> news:
|> > drkm writes:
|> > > Jean-Marc Bourguet writes:
|> > > > "Charlie Gordon" writes:
|> > > >> L'utilisation de + en
|> > > >> javascript ne donne pas de résultat satisfaisant non
|> > > >> plus...
|> > > > + est clairement de l'abus.
|> > > Que fait-il ?
|> > Je ne connais pas javascript, mais utiliser + pour effectuer des
|> > E/S comme à l'air de l'indiquer Charlie c'est pire que du Perl...
|> Non, + fait juste la concaténation des chaines en javascript. Le
|> problème est à la fois une question de lisibilité et un problème de
|> typage. On peut comparer la lisibilité respective de :
|> C: printf("x=%d, y=%dn", x, y);
|> C++: cout << "x=" << x << ", y=" << y << "n";
|> Javascript: document.write("x=" + x + ", y=" + y + "n");
|> Perl: print("x=$x, y=$yn");
|> Il faut bien reconnaitre que Perl est de loin le plus lisible.
Il faut comparer ce qui est comparable. Ajoutons un peu de formattage,
par exemple, pour sortir des expressions :
Basic: PRINT USING "x = ###0.00, y = 00", x * PI, y - 2
C : printf( "x = %6.2f, y = %02dn", x * PI, y - 2 ) ;
C++ : std::cout << "x = " << std::fix << std::setprecision( 2 )
<< std::setw( 6 ) << x * PI << ", y = " << std::setfill( '0' )
<< std::setw( 2 ) << y - 2 << std::endl ;
ou C++ : std::cout << "x = " << FmtFix( 6, 2 ) << x * PI
<< FmtZeroFill( 2 ) << y - 2
<< std::endl ;
(Le deuxième forme en C++ utilise les manipulateurs « maison ». Dans la
pratique, je ne crois pas qu'on fasse des sorties formattées en C++ sans
de manipulateurs maison.)
"Charlie Gordon" writes:
|> C: printf("x=%d, y=%dn", x, y);
|> C++: cout << "x=" << x << ", y=" << y << "n";
|> Javascript: document.write("x=" + x + ", y=" + y + "n");
|> Perl: print("x=$x, y=$yn");
|> Il faut bien reconnaitre que Perl est de loin le plus lisible.
Il faut comparer ce qui est comparable. Ajoutons un peu de formattage,
par exemple, pour sortir des expressions :
Basic: PRINT USING "x = ###0.00, y = 00", x * PI, y - 2
C : printf( "x = %6.2f, y = %02dn", x * PI, y - 2 ) ;
C++ : std::cout << "x = " << std::fix << std::setprecision( 2 )
<< std::setw( 6 ) << x * PI << ", y = " << std::setfill( '0' )
<< std::setw( 2 ) << y - 2 << std::endl ;
ou C++ : std::cout << "x = " << FmtFix( 6, 2 ) << x * PI
<< FmtZeroFill( 2 ) << y - 2
<< std::endl ;
"Charlie Gordon" <news@chqrlie.org> writes:
|> C: printf("x=%d, y=%dn", x, y);
|> C++: cout << "x=" << x << ", y=" << y << "n";
|> Javascript: document.write("x=" + x + ", y=" + y + "n");
|> Perl: print("x=$x, y=$yn");
|> Il faut bien reconnaitre que Perl est de loin le plus lisible.
Il faut comparer ce qui est comparable. Ajoutons un peu de formattage,
par exemple, pour sortir des expressions :
Basic: PRINT USING "x = ###0.00, y = 00", x * PI, y - 2
C : printf( "x = %6.2f, y = %02dn", x * PI, y - 2 ) ;
C++ : std::cout << "x = " << std::fix << std::setprecision( 2 )
<< std::setw( 6 ) << x * PI << ", y = " << std::setfill( '0' )
<< std::setw( 2 ) << y - 2 << std::endl ;
ou C++ : std::cout << "x = " << FmtFix( 6, 2 ) << x * PI
<< FmtZeroFill( 2 ) << y - 2
<< std::endl ;
"Charlie Gordon" writes:
|> C: printf("x=%d, y=%dn", x, y);
|> C++: cout << "x=" << x << ", y=" << y << "n";
|> Javascript: document.write("x=" + x + ", y=" + y + "n");
|> Perl: print("x=$x, y=$yn");
|> Il faut bien reconnaitre que Perl est de loin le plus lisible.
Il faut comparer ce qui est comparable. Ajoutons un peu de formattage,
par exemple, pour sortir des expressions :
Basic: PRINT USING "x = ###0.00, y = 00", x * PI, y - 2
C : printf( "x = %6.2f, y = %02dn", x * PI, y - 2 ) ;
C++ : std::cout << "x = " << std::fix << std::setprecision( 2 )
<< std::setw( 6 ) << x * PI << ", y = " << std::setfill( '0' )
<< std::setw( 2 ) << y - 2 << std::endl ;
ou C++ : std::cout << "x = " << FmtFix( 6, 2 ) << x * PI
<< FmtZeroFill( 2 ) << y - 2
<< std::endl ;