Próximo: , Anterior: , Acima: numericalio   [Conteúdo][Índice]

59.1, Introdução a numericalio

numericalio é uma colecção de funções para ler e escrever ficheiros de dados. O ficheiro é lido completamente para construir um objecto; leituras parciais não são suportadas.

É assumido que cada item a ler ou escrever é atômico: um número inteiro, número em ponto flutuante, grande número em ponto flutuante, sequência de caracteres, ou símbolo, e não um número racional ou um número complexo ou qualquer outro tipo de expressão não atômica. Essas funções podem tentar fazer alguma coisa levemente parecida com expressões não atômicas, mas os resultados não são especificados aqui e são sujeitos a mudanças.

Átomos em ambos os ficheiros de entrada e saída possuem o mesmo formato que em ficheiros de lote do Maxima ou no console interativo. Em particular, sequência de caracteres são contidas dentro de aspas duplas, contrabarra \ evita qualquer interpretação especial do caractere seguinte, e o ponto de interrogação ? é reconhecido no início de um símbolo para significar um símbolo do Lisp (em oposição a um símbolo do Maxima). Nenhum caractere de continuação (para continuar linhas quebradas) é reconhecido.

separator_flag diz que caracteres separa elementos. separator_flag é um argumento opcional para todas as funções de leitura e escrita.

Para entrada, os valores de separator_flag reconhecidos são: comma para valores separados por vírgula, pipe para valores separados pelo caractere barra vertical |, semicolon para valores separados por ponto e vírgula ;, e space para valores separados pelos caracteres de espaço e de tabulação. Se o nome do ficheiro a ser lido/escrito termina em .csv e separator_flag não for especificado, comma é assumido. Se o nome do ficheiro termina em alguma outra coisa que não .csv e separator_flag não for especificado, space é assumido.

Para saída, os mesmos quatro sinalizadores são reconhecidos como na entrada, e também tab, para valores separados pelo caractere de tabulaçao.

Em entrada, múltiplos espaços e múltiplas tabulações sucessivas contam como um separador simples. Todavia, múltiplas vírgulas, barras verticais, ou ponto-e-vírgulas são significativos. Sucessivas vírgulas, barras verticais, ou ponto-e-vírgulas (com ou sem intercalação de espaços ou tabulações) são considerados como tendo false entre os separadores. Por exemplo, 1234,,Foo é tratado da mesma forma que 1234,false,Foo. Em saídas, os átomos false são escritos como tais; uma lista [1234, false, Foo] é escrita 1234,false,Foo, e não é tentado colapsar a saída para 1234,,Foo.


Próximo: , Anterior: , Acima: numericalio   [Conteúdo][Índice]