Strings(Conjuntos de caracteres)

O tipo de dados para strings(conjuntos de caracteres) é string. As strings em Vala são codificadas em UTF-8 e imutáveis.

string texto = "Um conjunto de caracteres";

Vala oferece um recurso chamado verbatim strings. Strings quais as sequencias de escape (como o \n) não são interpretadas, quebras de linhas serão preservadas e sinais de citação não precisam ser mascarados. Elas são cercadas com três sinais de citação. Possíveis identações após uma quebra de linha são parte da string também.

string verbatim = """Essa é uma tão falada "verbatim string". Verbatim strings não processam sequências de escape, como \n, \t, \\, etc. Elas podem conter citações e abranger múltiplas linhas.""";

Strings prefixadas com '@' são templates de string. Elas podem evaluate variáveis embutidas e expressões prefixadas com '$':

int a = 6, b = 7;
string s = @"$a * $b = $(a * b)";  // => "6 * 7 = 42"

Os operadores de igualdade == e != comparam o conteúdo das duas strings, contrario ao comportamento do Java que nesse caso checaria a igualdade referencial.

Você pode recortar uma string com [inicio:fim]. Valores negativos representam posições relativas ao fim da string:

string greeting = "hello, world";
string s1 = greeting[7:12];        // => "world"
string s2 = greeting[-4:-2];       // => "or"

Note que os índices em Vala começam com 0 como na maioria das outras linguagens de programação. Apartir do Vala 0.11 você pode acessar um único byte de uma string com [índice]:

uint8 b = greeting[7];             // => 0x77

Porem, você não pode designar um novo valor em byte para essa posição, uma vez que as strings em Vala são imutáveis.

Muitos dos tipos básicos tem métodos razoáveis para análisar e converter para strings, por exemplo:

bool b = bool.parse("false");           // => false
int i = int.parse("-52");               // => -52
double d = double.parse("6.67428E-11"); // => 6.67428E-11
string s1 = true.to_string();           // => "true"
string s2 = 21.to_string();             // => "21"

Dois métodos úteis para escrever e ler strings de/para o console (e para suas primeiras explorações com Vala) são stdout.printf() e stdin.read_line():

stdout.printf("Hello, world\n");
stdout.printf("%d %g %s\n", 42, 3.1415, "Vala");
string input = stdin.read_line();
int number = int.parse(stdin.read_line());

Você já conhece o stdout.printf() pelo exemplo do Olá mundo.

Atualmente, ele pode receber um número arbitrário de argumentos de tipos diferentes, no qual o primeiro argumento é uma format string, seguindo as mesmas regras das strings no formato do C.

Se você precisa emitir uma mensagem de erro você pode usar o stderr.printf() invés do stdout.printf().

Em adição o operador in pode ser usado para determinar quando uma string contém outra, ex.

if ("ere" in "Able was I ere I saw Elba.") ...

Para mais informações, veja uma visão completa da classe string.

Um programa exemplo demostrando o uso de uma string também está disponível.

results matching ""

    No results matching ""