diff options
Diffstat (limited to 'doc/docs/pt-br')
| -rw-r--r-- | doc/docs/pt-br/doc/advanced/do.md | 22 | ||||
| -rw-r--r-- | doc/docs/pt-br/doc/control-flow/for-loop.md | 16 | ||||
| -rw-r--r-- | doc/docs/pt-br/doc/control-flow/while-loop.md | 42 | ||||
| -rw-r--r-- | doc/docs/pt-br/doc/language-basics/module.md (renamed from doc/docs/pt-br/doc/advanced/module.md) | 0 | ||||
| -rw-r--r-- | doc/docs/pt-br/doc/objects/with-statement.md | 44 |
5 files changed, 121 insertions, 3 deletions
diff --git a/doc/docs/pt-br/doc/advanced/do.md b/doc/docs/pt-br/doc/advanced/do.md index 503c551..aaf2c69 100644 --- a/doc/docs/pt-br/doc/advanced/do.md +++ b/doc/docs/pt-br/doc/advanced/do.md | |||
| @@ -20,7 +20,27 @@ print var -- nil aqui | |||
| 20 | 20 | ||
| 21 | </YueDisplay> | 21 | </YueDisplay> |
| 22 | 22 | ||
| 23 | O **do** do YueScript também pode ser usado como expressão. Permitindo combinar múltiplas linhas em uma. O resultado da expressão do é a última instrução em seu corpo. | 23 | O **do** do YueScript também pode ser usado como expressão. Permitindo combinar múltiplas linhas em uma. O resultado da expressão do é a última instrução em seu corpo. Expressões `do` suportam usar `break` para interromper o fluxo de execução e retornar múltiplos valores antecipadamente. |
| 24 | |||
| 25 | ```yuescript | ||
| 26 | status, value = do | ||
| 27 | n = 12 | ||
| 28 | if n > 10 | ||
| 29 | break "large", n | ||
| 30 | break "small", n | ||
| 31 | ``` | ||
| 32 | |||
| 33 | <YueDisplay> | ||
| 34 | |||
| 35 | ```yue | ||
| 36 | status, value = do | ||
| 37 | n = 12 | ||
| 38 | if n > 10 | ||
| 39 | break "large", n | ||
| 40 | break "small", n | ||
| 41 | ``` | ||
| 42 | |||
| 43 | </YueDisplay> | ||
| 24 | 44 | ||
| 25 | ```yuescript | 45 | ```yuescript |
| 26 | counter = do | 46 | counter = do |
diff --git a/doc/docs/pt-br/doc/control-flow/for-loop.md b/doc/docs/pt-br/doc/control-flow/for-loop.md index 4c99e6d..de5f9c2 100644 --- a/doc/docs/pt-br/doc/control-flow/for-loop.md +++ b/doc/docs/pt-br/doc/control-flow/for-loop.md | |||
| @@ -86,7 +86,7 @@ doubled_evens = for i = 1, 20 | |||
| 86 | 86 | ||
| 87 | </YueDisplay> | 87 | </YueDisplay> |
| 88 | 88 | ||
| 89 | Além disso, os loops for suportam break com valor de retorno, permitindo que o próprio loop seja usado como expressão que sai antecipadamente com um resultado significativo. | 89 | Além disso, os loops for suportam break com valores de retorno, permitindo que o próprio loop seja usado como expressão que sai antecipadamente com um resultado significativo. Expressões `for` suportam `break` com múltiplos valores. |
| 90 | 90 | ||
| 91 | Por exemplo, para encontrar o primeiro número maior que 10: | 91 | Por exemplo, para encontrar o primeiro número maior que 10: |
| 92 | 92 | ||
| @@ -106,6 +106,20 @@ first_large = for n in *numbers | |||
| 106 | 106 | ||
| 107 | Esta sintaxe de break-com-valor permite padrões concisos e expressivos de busca ou saída antecipada diretamente em expressões de loop. | 107 | Esta sintaxe de break-com-valor permite padrões concisos e expressivos de busca ou saída antecipada diretamente em expressões de loop. |
| 108 | 108 | ||
| 109 | ```yuescript | ||
| 110 | key, score = for k, v in pairs data | ||
| 111 | break k, v * 10 if k == "target" | ||
| 112 | ``` | ||
| 113 | |||
| 114 | <YueDisplay> | ||
| 115 | |||
| 116 | ```yue | ||
| 117 | key, score = for k, v in pairs data | ||
| 118 | break k, v * 10 if k == "target" | ||
| 119 | ``` | ||
| 120 | |||
| 121 | </YueDisplay> | ||
| 122 | |||
| 109 | Você também pode filtrar valores combinando a expressão do loop for com a instrução continue. | 123 | Você também pode filtrar valores combinando a expressão do loop for com a instrução continue. |
| 110 | 124 | ||
| 111 | Loops for no final do corpo de uma função não são acumulados em uma tabela para valor de retorno (em vez disso, a função retornará nil). Uma instrução return explícita pode ser usada, ou o loop pode ser convertido em compreensão de lista. | 125 | Loops for no final do corpo de uma função não são acumulados em uma tabela para valor de retorno (em vez disso, a função retornará nil). Uma instrução return explícita pode ser usada, ou o loop pode ser convertido em compreensão de lista. |
diff --git a/doc/docs/pt-br/doc/control-flow/while-loop.md b/doc/docs/pt-br/doc/control-flow/while-loop.md index 2deb5aa..38df05a 100644 --- a/doc/docs/pt-br/doc/control-flow/while-loop.md +++ b/doc/docs/pt-br/doc/control-flow/while-loop.md | |||
| @@ -45,7 +45,25 @@ until running == false do my_function! | |||
| 45 | 45 | ||
| 46 | </YueDisplay> | 46 | </YueDisplay> |
| 47 | 47 | ||
| 48 | Como os loops for, o loop while também pode ser usado como expressão. Além disso, para uma função retornar o valor acumulado de um loop while, a instrução deve ser explicitamente retornada. | 48 | Como os loops for, o loop while também pode ser usado como expressão. Expressões `while` e `until` suportam `break` com múltiplos valores. |
| 49 | |||
| 50 | ```yuescript | ||
| 51 | value, doubled = while true | ||
| 52 | n = get_next! | ||
| 53 | break n, n * 2 if n > 10 | ||
| 54 | ``` | ||
| 55 | |||
| 56 | <YueDisplay> | ||
| 57 | |||
| 58 | ```yue | ||
| 59 | value, doubled = while true | ||
| 60 | n = get_next! | ||
| 61 | break n, n * 2 if n > 10 | ||
| 62 | ``` | ||
| 63 | |||
| 64 | </YueDisplay> | ||
| 65 | |||
| 66 | Além disso, para uma função retornar o valor acumulado de um loop while, a instrução deve ser explicitamente retornada. | ||
| 49 | 67 | ||
| 50 | ## Loop Repeat | 68 | ## Loop Repeat |
| 51 | 69 | ||
| @@ -70,3 +88,25 @@ until i == 0 | |||
| 70 | ``` | 88 | ``` |
| 71 | 89 | ||
| 72 | </YueDisplay> | 90 | </YueDisplay> |
| 91 | |||
| 92 | Expressões `repeat` também suportam `break` com múltiplos valores: | ||
| 93 | |||
| 94 | ```yuescript | ||
| 95 | i = 1 | ||
| 96 | value, scaled = repeat | ||
| 97 | break i, i * 100 if i > 3 | ||
| 98 | i += 1 | ||
| 99 | until false | ||
| 100 | ``` | ||
| 101 | |||
| 102 | <YueDisplay> | ||
| 103 | |||
| 104 | ```yue | ||
| 105 | i = 1 | ||
| 106 | value, scaled = repeat | ||
| 107 | break i, i * 100 if i > 3 | ||
| 108 | i += 1 | ||
| 109 | until false | ||
| 110 | ``` | ||
| 111 | |||
| 112 | </YueDisplay> | ||
diff --git a/doc/docs/pt-br/doc/advanced/module.md b/doc/docs/pt-br/doc/language-basics/module.md index ed13107..ed13107 100644 --- a/doc/docs/pt-br/doc/advanced/module.md +++ b/doc/docs/pt-br/doc/language-basics/module.md | |||
diff --git a/doc/docs/pt-br/doc/objects/with-statement.md b/doc/docs/pt-br/doc/objects/with-statement.md index e5a56e5..38efee7 100644 --- a/doc/docs/pt-br/doc/objects/with-statement.md +++ b/doc/docs/pt-br/doc/objects/with-statement.md | |||
| @@ -44,6 +44,50 @@ file = with File "favorite_foods.txt" | |||
| 44 | 44 | ||
| 45 | </YueDisplay> | 45 | </YueDisplay> |
| 46 | 46 | ||
| 47 | Expressões `with` suportam `break` com um valor: | ||
| 48 | |||
| 49 | ```yuescript | ||
| 50 | result = with obj | ||
| 51 | break .value | ||
| 52 | ``` | ||
| 53 | |||
| 54 | <YueDisplay> | ||
| 55 | |||
| 56 | ```yue | ||
| 57 | result = with obj | ||
| 58 | break .value | ||
| 59 | ``` | ||
| 60 | |||
| 61 | </YueDisplay> | ||
| 62 | |||
| 63 | Depois que `break value` é usado dentro de `with`, a expressão `with` deixa de retornar seu objeto-alvo e passa a retornar o valor de `break`. | ||
| 64 | |||
| 65 | ```yuescript | ||
| 66 | a = with obj | ||
| 67 | .x = 1 | ||
| 68 | -- a é obj | ||
| 69 | |||
| 70 | b = with obj | ||
| 71 | break .x | ||
| 72 | -- b é .x, não obj | ||
| 73 | ``` | ||
| 74 | |||
| 75 | <YueDisplay> | ||
| 76 | |||
| 77 | ```yue | ||
| 78 | a = with obj | ||
| 79 | .x = 1 | ||
| 80 | -- a é obj | ||
| 81 | |||
| 82 | b = with obj | ||
| 83 | break .x | ||
| 84 | -- b é .x, não obj | ||
| 85 | ``` | ||
| 86 | |||
| 87 | </YueDisplay> | ||
| 88 | |||
| 89 | Diferente de `for` / `while` / `repeat` / `do`, `with` suporta apenas um valor de `break`. | ||
| 90 | |||
| 47 | Ou… | 91 | Ou… |
| 48 | 92 | ||
| 49 | ```yuescript | 93 | ```yuescript |
