2017-09-22 3 views
0

J'ai essayé plusieurs fois de créer un répertoire pour l'archive .tar. mais je n'ai pas réussi.Comment créer un fichier tar dans Elixir par Erlang

Exemple de code pour créer un format .tar. (avec erlang)

{:ok , filename } = File.ls("/Users/shahryar/Desktop/test") 
:erl_tar.create("test.tar", filename) 

mais mon test avait échoué.

S'il vous plaît aidez-moi à créer un fichier archive (.tar)

Répondre

3

erl_tar.create/2 de Erlang attend une liste de charlists que le second argument, mais vous avez adopté une liste des binaires à la place. Essayez plutôt:

{:ok , filenames} = File.ls("/Users/shahryar/Desktop/test") 
:ok = :erl_tar.create("test.tar", Enum.map(filenames, &to_charlist/1)) 

Comprendre la différence entre charlists et les binaires est important, surtout quand vous traitez avec des bibliothèques Erlang. Vérifiez le official documentation pour plus d'informations.

+0

hi. Au début, votre code a fonctionné. mais après reset iex, le code a une erreur '' '** (MatchError) aucune correspondance de la valeur côté droit: {: error, {'one',: enoent}}' '' –

+1

': enoent' signifie le fichier doesn n'existe pas. – helios35

+0

S'il vous plaît voir ma photo Terminal: [lien] (http://s9.picofile.com/file/8307181076/Screen_Shot_2017_09_23_at_7_26_09_am.png). ce fichier existe. –