Il y a de multiples façons de vider un tableau sur le disque. Vous devez décider si vous souhaitez sérialiser dans un format binaire ou dans un format texte.
Pour la sérialisation binaire, vous pouvez regarder Maréchal
Je ne suis pas sûr exactement ce que vous voulez, mais, pour sérialiser un tableau, écrire dans un fichier et de la lecture, vous pouvez utiliser ceci:
fruits =%w{mango banana apple guava}=>["mango","banana","apple","guava"]
serialized_array =Marshal.dump(fruits)=>"
fruits =%w{mango banana apple guava}=>["mango","banana","apple","guava"]
serialized_array =Marshal.dump(fruits)=>"\004\b[\t\"\nmango\"\vbanana\"\napple\"\nguava"File.open('/tmp/fruits_file.txt','w'){|f| f.write(serialized_array)}=>33# read the file back
fruits =Marshal.load File.read('/tmp/fruits_file.txt')=>["mango","banana","apple","guava"]
4\b[\t\"\nmango\"\vbanana\"\napple\"\nguava"File.open('/tmp/fruits_file.txt','w'){|f| f.write(serialized_array)}=>33# read the file back
fruits =Marshal.load File.read('/tmp/fruits_file.txt')=>["mango","banana","apple","guava"]
Il y a d'autres alternatives que vous pouvez explorer, comme json et YAML.
7
À juste vider le tableau dans un fichier dans la norme [a,b,c] format:
Qui pourrait ne pas être si utile, peut-être que vous pourriez le lire? Dans ce cas, vous pourriez utiliser json. Installer à l'aide de rubygems avec gem install json.
Exemple: écrire text_area à un fichier où text_area est un tableau de chaînes de caractères.
File.open('output.txt', 'w') { |f| text_area.each { |line| f << line } }
N'oubliez pas de faire la vérification des erreurs sur les opérations sur les fichiers 🙂
0
Autant que je sache.. les fichiers contiennent des lignes pas des tableaux. Quand vous lisez les fichiers, les données peuvent ensuite être stockées dans un tableau ou dans d'autres structures de données. Je suis curieux de savoir si il ya une autre façon.
Il y a de multiples façons de vider un tableau sur le disque. Vous devez décider si vous souhaitez sérialiser dans un format binaire ou dans un format texte.
Pour la sérialisation binaire, vous pouvez regarder Maréchal
Pour le format de texte vous pouvez utiliser jsonyamlxml (avec rexmlconstructeur... ) , ...
Je ne suis pas sûr exactement ce que vous voulez, mais, pour sérialiser un tableau, écrire dans un fichier et de la lecture, vous pouvez utiliser ceci:
Il y a d'autres alternatives que vous pouvez explorer, comme
json
etYAML
.À juste vider le tableau dans un fichier dans la norme [a,b,c] format:
Qui pourrait ne pas être si utile, peut-être que vous pourriez le lire? Dans ce cas, vous pourriez utiliser json. Installer à l'aide de rubygems avec
gem install json
.Lire:
Certaines options standard pour la sérialisation des données en Ruby:
(Il y en a d'autres, sans doute mieux/plus vite implémentations de YAML et JSON, mais je suis un lien vers built-ins, pour commencer.)
Dans la pratique, il me semble voir YAML le plus souvent, mais qui peut ne pas être une indication de quelque chose de réel.
Voici un rapide yaml exemple
Exemple: écrire text_area à un fichier où text_area est un tableau de chaînes de caractères.
File.open('output.txt', 'w') { |f| text_area.each { |line| f << line } }
N'oubliez pas de faire la vérification des erreurs sur les opérations sur les fichiers 🙂
Autant que je sache.. les fichiers contiennent des lignes pas des tableaux. Quand vous lisez les fichiers, les données peuvent ensuite être stockées dans un tableau ou dans d'autres structures de données. Je suis curieux de savoir si il ya une autre façon.