Next: Desigualdade, Previous: Identificadores, Up: Expressões [Contents][Index]

### 6.5 Seqüências de caracteres

Strings (seqüências de caracteres) são contidas entre aspas duplas `"` em entradas de dados usados pelo Maxima, e mostradas com ou sem as aspas duplas, dependendo do valor escolhido para a variável global `stringdisp`.

Seqüências de caracteres podem conter quaisquer caracteres, incluindo tabulações (tab), nova linha (ou fim de linha), e caracteres de retorno da cabeça de impressão (carriage return). A seqüência `\"` é reconhecida com uma aspa dupla literal, e `\\` como uma contrabarra literal. Quando a contrabarra aparecer no final de uma linha, a contrabarra e a terminação de linha (ou nova linha ou retorno de carro e nova linha) são ignorados, de forma que a seqüência de caracteres continue na próxima linha. Nenhuma outra combinação especial de contrabarra com outro caractere é reconhecida; quando a contrabarra aparecer antes de qualquer outro caractere que não seja `"`, `\`, ou um fim de linha, a contrabarra é ignorada. Não exite caminho para representar um caractere especial (tal como uma tabulação, nova linha, ou retorno da cabeça de impressão) exceto através de encaixar o caractere literal na seqüência de caracteres.

Não existe tipo de caractere no Maxima; um caractere simples é representado como uma seqüência de caracteres de um único caractere.

Seqüências de caracteres no Maxima são implementadas como símbolos do Lisp, não como seqüencias de caracteres do not Lisp; o que pode mudar em futuras versões do Maxima. Maxima pode mostrar seqüências de caracteres do Lisp e caracteres do Lisp, embora algumas outras operações (por exemplo, testes de igualdade) possam falhar.

O pacote adicional `stringproc` contém muitas funções que trabalham com seqüências de caracteres.

Exemplos:

    (%i1) s_1 : "Isso é uma seqüência de caracteres  do Maxima.";
    (%o1)               Isso é uma seqüência de caracteres  do Maxima.
    (%i2) s_2 : "Caracteres \"aspas duplas\" e contrabarras \\ encaixados em uma seqüência de caracteres.";
    (%o2) Caracteres "aspas duplas" e contrabarra \ encaixados em uma seqüência de caracteres.
    (%i3) s_3 : "Caractere de fim de linha encaixado
    nessa seqüência de caracteres.";
    (%o3) Caractere de fim de linha encaixado
    nessa seqüência de caracteres.
    (%i4) s_4 : "Ignore o \
    caractere de \
    fim de linha nessa \
    seqüência de caracteres.";
    (%o4) Ignore o caractere de fim de linha nessa seqüência de caracteres.
    (%i5) stringdisp : false;
    (%o5)                         false
    (%i6) s_1;
    (%o6)               Isso é uma seqüência de caracteres  do Maxima.
    (%i7) stringdisp : true;
    (%o7)                         true
    (%i8) s_1;
    (%o8)              "Isso é uma seqüência de caracteres  do Maxima."

Next: Desigualdade, Previous: Identificadores, Up: Expressões [Contents][Index]