Conversões
int, float, str, cast e typeof — e o que acontece quando o valor não converte.
O que vem de fora — do teclado, de um CSV, de um JSON — chega quase sempre como texto. Converter é explícito nesta linguagem: "42" + 1 é erro, e não "421" nem 43.
dataforge
assert int("42") + 1 is 43
assert float("3.5") * 2 is 7.0
assert str(42) + "!" is "42!"
assert int(3.9) is 3 // corta, nao arredonda
assert cast "7" as Integer is 7
assert bool(0) is no and bool("x") is yes
assert typeof(int("5")) is "Integer"Quando não converte#
dataforge
action como_inteiro(texto, padrao := void):
monitor:
yield int(texto)
handle Error:
yield padrao
assert como_inteiro("12") is 12
assert como_inteiro("12,5") is void // virgula nao e ponto
assert como_inteiro("", 0) is 0
out "o que nao converte vira void — e voce decide o que fazer"Texto de um valor#
dataforge
assert str([1, 2]) is "[1, 2]"
assert str({"a": 1}) is "{a: 1}"
assert str(void) is "void" and str(yes) is "yes"
assert $"total: {10 * 3}" is "total: 30"