String, list, dict methods and chaining
Learning objective
- Apply method calls and chaining to produce compact readable code.
Key syntax
let text: string = " Lucia Lang ";
let parts: list<string> = text.trim().lower().split(" ");
Examples
- String methods:
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. - List methods:
append,pop,contains,sort,reverse,indexOf,slice,clear,insert,remove,removeAt,extend,first,last,is_empty,copy. - Dict methods:
keys,values,contains_key,get,clear,remove,items,is_empty,size,merge,put.
Chaining examples
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));
Contracts to remember
appendtakes exactly one item compatible withlist<T>.poptakes no arguments.getaccepts 1 or 2 arguments: key and optional default.insertrequires(index: int, value: T).removeAtrequires(index: int).extendrequireslist<T>compatible with receiver.putrequires(key: K, value: V)compatible with dict type.- Collection size uses
len(x), not.length().
Cross-target note
dict.get(key)differs when key is missing:
- Python target: returns None - JavaScript target: returns undefined
dict.get(key, default)is consistent in both targets.
Common mistakes
- Calling methods that do not belong to the receiver type.
- Forgetting method argument contracts.
Suggested practice
- Normalize a list of names and build a CSV output line.
Related
- types-and-collections
- string-interpolation