summaryrefslogtreecommitdiffhomepage
path: root/pt-br/pogo-pt.html.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'pt-br/pogo-pt.html.markdown')
-rw-r--r--pt-br/pogo-pt.html.markdown203
1 files changed, 0 insertions, 203 deletions
diff --git a/pt-br/pogo-pt.html.markdown b/pt-br/pogo-pt.html.markdown
deleted file mode 100644
index 80dcfcd5..00000000
--- a/pt-br/pogo-pt.html.markdown
+++ /dev/null
@@ -1,203 +0,0 @@
----
-language: pogoscript
-contributors:
- - ["Tim Macfarlane", "http://github.com/refractalize"]
-translators:
- - ["Cássio Böck", "https://github.com/cassiobsilva"]
-filename: learnPogo-pt-br.pogo
-lang: pt-br
----
-
-Pogoscript é uma linguagem de programação que possui tipos primitivos concorrents
-e que compila para linguagem Javascript padrão.
-
-``` javascript
-// definindo uma variável
-water temperature = 24
-
-// reatribuindo o valor de uma variável após a sua definição
-water temperature := 26
-
-// funções permitem que seus parâmetros sejam colocados em qualquer lugar
-temperature at (a) altitude = 32 - a / 100
-
-// funções longas são apenas indentadas
-temperature at (a) altitude :=
- if (a < 0)
- water temperature
- else
- 32 - a / 100
-
-// declarando uma função
-current temperature = temperature at 3200 altitude
-
-// essa função cria um novo objeto com métodos
-position (x, y) = {
- x = x
- y = y
-
- distance from position (p) =
- dx = self.x - p.x
- dy = self.y - p.y
- Math.sqrt (dx * dx + dy * dy)
-}
-
-// `self` é similiar ao `this` do Javascript, com exceção de que `self` não
-// é redefinido em cada nova função
-
-// declaração de métodos
-position (7, 2).distance from position (position (5, 1))
-
-// assim como no Javascript, objetos também são hashes
-position.'x' == position.x == position.('x')
-
-// arrays
-positions = [
- position (1, 1)
- position (1, 2)
- position (1, 3)
-]
-
-// indexando um array
-positions.0.y
-
-n = 2
-positions.(n).y
-
-// strings
-poem = 'Tail turned to red sunset on a juniper crown a lone magpie cawks.
- Mad at Oryoki in the shrine-room -- Thistles blossomed late afternoon.
- Put on my shirt and took it off in the sun walking the path to lunch.
- A dandelion seed floats above the marsh grass with the mosquitos.
- At 4 A.M. the two middleaged men sleeping together holding hands.
- In the half-light of dawn a few birds warble under the Pleiades.
- Sky reddens behind fir trees, larks twitter, sparrows cheep cheep cheep
- cheep cheep.'
-
-// texto de Allen Ginsburg
-
-// interpolação
-outlook = 'amazing!'
-console.log "the weather tomorrow is going to be #(outlook)"
-
-// expressões regulares
-r/(\d+)m/i
-r/(\d+) degrees/mg
-
-// operadores
-true @and true
-false @or true
-@not false
-2 < 4
-2 >= 2
-2 > 1
-
-// os operadores padrão do Javascript também são suportados
-
-// definindo seu próprio operador
-(p1) plus (p2) =
- position (p1.x + p2.x, p1.y + p2.y)
-
-// `plus` pode ser usado com um operador
-position (1, 1) @plus position (0, 2)
-// ou como uma função
-(position (1, 1)) plus (position (0, 2))
-
-// retorno explícito
-(x) times (y) = return (x * y)
-
-// new
-now = @new Date ()
-
-// funções podem receber argumentos opcionais
-spark (position, color: 'black', velocity: {x = 0, y = 0}) = {
- color = color
- position = position
- velocity = velocity
-}
-
-red = spark (position 1 1, color: 'red')
-fast black = spark (position 1 1, velocity: {x = 10, y = 0})
-
-// funções também podem ser utilizadas para realizar o "unsplat" de argumentos
-log (messages, ...) =
- console.log (messages, ...)
-
-// blocos são funções passadas para outras funções.
-// Este bloco recebe dois parâmetros, `spark` e `c`,
-// o corpo do bloco é o código indentado após a declaração da função
-
-render each @(spark) into canvas context @(c)
- ctx.begin path ()
- ctx.stroke style = spark.color
- ctx.arc (
- spark.position.x + canvas.width / 2
- spark.position.y
- 3
- 0
- Math.PI * 2
- )
- ctx.stroke ()
-
-// chamadas assíncronas
-
-// O Javascript, tanto no navegador quanto no servidor (através do Node.js)
-// realiza um uso massivo de funções assíncronas de E/S (entrada/saída) com
-// chamadas de retorno (callbacks). A E/S assíncrona é ótima para a performance e
-// torna a utilização da concorrência simples, porém pode rapidamente se tornar
-// algo complicado.
-// O Pogoscript possui algumas coisas que tornam o uso de E/S assíncrono muito
-// mais fácil
-
-// O Node.js inclui o móduolo `fs` para acessar o sistema de arquivos.
-// Vamos listar o conteúdo de um diretório
-
-fs = require 'fs'
-directory listing = fs.readdir! '.'
-
-// `fs.readdir()` é uma função assíncrona, então nos a chamamos usando o
-// operador `!`. O operador `!` permite que você chame funções assíncronas
-// com a mesma sintaxe e a mesma semântica do que as demais funções síncronas.
-// O Pogoscript reescreve a função para que todo código inserido após o
-// operador seja inserido em uma função de callback para o `fs.readdir()`.
-
-// obtendo erros ao utilizar funções assíncronas
-
-try
- another directory listing = fs.readdir! 'a-missing-dir'
-catch (ex)
- console.log (ex)
-
-// na verdade, se você não usar o `try catch`, o erro será passado para o
-// `try catch` mais externo do evento, assim como é feito em exceções síncronas
-
-// todo o controle de estrutura também funciona com chamadas assíncronas
-// aqui um exemplo de `if else`
-config =
- if (fs.stat! 'config.json'.is file ())
- JSON.parse (fs.read file! 'config.json' 'utf-8')
- else
- {
- color: 'red'
- }
-
-// para executar duas chamadas assíncronas de forma concorrente, use o
-// operador `?`.
-// O operador `?` retorna um *future*, que pode ser executado para
-// aguardar o resultado, novamente utilizando o operador `!`
-
-// nós não esperamos nenhuma dessas chamadas serem concluídas
-a = fs.stat? 'a.txt'
-b = fs.stat? 'b.txt'
-
-// agora nos aguardamos o término das chamadas e escrevemos os resultados
-console.log "size of a.txt is #(a!.size)"
-console.log "size of b.txt is #(b!.size)"
-
-// no Pogoscript, futures são semelhantes a Promises
-```
-E encerramos por aqui.
-
-Baixe o [Node.js](http://nodejs.org/) e execute `npm install pogo`.
-
-Há bastante documentação em [http://pogoscript.org/](http://pogoscript.org/), incluindo um material para [consulta rápida](http://pogoscript.org/cheatsheet.html), um [guia](http://pogoscript.org/guide/), e como o [Pogoscript é traduzido para o Javascript](http://featurist.github.io/pogo-examples/). Entre em contato através do [grupo do Google](http://groups.google.com/group/pogoscript) se você possui dúvidas!