Conversão de Tipos
Conversão implícita (widening)
Seção intitulada “Conversão implícita (widening)”O Kriol converte automaticamente nter para num quando não há perda de informação:
| De | Para | Automático |
|---|---|---|
nter | num | ✅ Sim |
nter x = 5;num y = x; // ok, alargamento automático nter para num
fn aceita_num(num n) { mostran(n);}
fn inisiu() { aceita_num(10); // ok, nter 10 é alargado para num}Conversão explícita (casting)
Seção intitulada “Conversão explícita (casting)”A conversão de num para nter (ou entre outros tipos incompatíveis) requer uma conversão explícita.
Sintaxe em consideração
Seção intitulada “Sintaxe em consideração”Algumas opções em análise (a sintaxe final pode diferir):
// Opção A: estilo funçãonter n = nter(3.7); // n == 3 (truncagem)
// Opção B: estilo prefixonter n = (nter) 3.7; // n == 3
// Opção C: keyword komunter n = 3.7 komu nter;
// Opção D: operador diretonter n = 3.7 -> nter;// ounter n = 3.7 >> nter;Conversões previstas
Seção intitulada “Conversões previstas”| De | Para | Comportamento esperado |
|---|---|---|
num | nter | Truncagem (descarta parte decimal) |
nter | textu | Representação textual do número |
num | textu | Representação textual do número |
textu | nter | Interpretação numérica da string |
textu | num | Interpretação numérica da string |
bool | nter | sin vira 1, nau vira 0 |