Metodos de string, list, dict e encadeamento
Objetivo de aprendizagem
- Aplicar chamadas de metodo e encadeamento para produzir codigo compacto e legivel.
Sintaxe chave
let text: string = " Lucia Lang ";
let parts: list<string> = text.trim().lower().split(" ");
Exemplos
- Metodos de string:
upper, lower, trim, ltrim, rtrim, split, join, contains, starts_with, ends_with, replace, indexOf, repeat, substring, pad_left, pad_right, to_int, to_float, to_bool, count, capitalize, title, is_numeric, is_alpha, is_alnum.
- Metodos de list:
append, pop, contains, sort, reverse, indexOf, slice, clear, insert, remove, removeAt, extend, first, last, is_empty, copy.
- Metodos de dict:
keys, values, contains_key, get, clear, remove, items, is_empty, size, merge, put.
Exemplos de encadeamento
let cleaned: string = " Lucia ".trim().lower();
let words: list<string> = cleaned.split(" ");
let csv: string = ",".join(words);
let nums: list<int> = [3, 1, 2];
nums.sort();
let top2: list<int> = nums.slice(0, 2);
print(top2.contains(2));
Contratos para lembrar
append recebe exatamente um item compativel com list<T>.
pop nao recebe argumentos.
get aceita 1 ou 2 argumentos: chave e default opcional.
insert exige (index: int, value: T).
removeAt exige (index: int).
extend exige list<T> compativel com a lista alvo.
put exige (key: K, value: V) compativeis com o tipo do dict.
- Tamanho de colecao usa
len(x), nao .length().
Nota cross-target
dict.get(key) se comporta diferente quando a chave nao existe:
- Alvo Python: retorna
None
- Alvo JavaScript: retorna
undefined
dict.get(key, default) e consistente nos dois alvos.
Erros comuns
- Chamar metodos que nao pertencem ao tipo receptor.
- Esquecer os contratos de argumentos dos metodos.
Pratica sugerida
- Normalize uma lista de nomes e gere uma linha CSV.
Relacionados
- types-and-collections
- string-interpolation