Mode d’ouverture de fichier dans Ruby

Je suis un nouveau programme en Ruby. Quelqu’un peut-il prendre un exemple d’ouverture de fichier avec r +, w +, un mode + dans Ruby? Quelle est la différence entre eux et r, w, a?

Veuillez expliquer et fournir un exemple.

Les modes d’ouverture de fichier ne sont pas vraiment spécifiques à ruby: ils font partie de la norme IEEE Std 1003.1 ( Single UNIX Specification ). Vous pouvez en savoir plus à ce sujet ici:

http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.html

r or rb Open file for reading. w or wb Truncate to zero length or create file for writing. a or ab Append; open or create file for writing at end-of-file. r+ or rb+ or r+b Open file for update (reading and writing). w+ or wb+ or w+b Truncate to zero length or create file for update. a+ or ab+ or a+b Append; open or create file for update, writing at end-of-file. 

Tout mode contenant la lettre ‘b’ signifie un fichier binary. Si le “b” n’est pas présent, il y a un fichier “texte brut”.

La différence entre «ouvert» et «ouvert pour mise à jour» est indiquée comme suit:

Lorsqu’un fichier est ouvert avec le mode de mise à jour (“+” comme deuxième ou troisième caractère de l’argument de mode), les entrées et les sorties peuvent être effectuées sur le stream associé. Toutefois, l’application doit s’assurer que la sortie n’est pas directement suivie d’une entrée sans appel intermédiaire à fflush () ou à une fonction de positionnement de fichier (fseek (), fsetpos () ou rewind ()) et que l’entrée n’est pas directement suivie sortie sans appel intermédiaire à une fonction de positionnement de fichier, sauf si l’opération d’entrée rencontre la fin du fichier.