Próximo: , Anterior: , Acima: Expressões   [Conteúdo][Índice]

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."

Próximo: , Anterior: , Acima: Expressões   [Conteúdo][Índice]