1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-01-17 21:49:22 +01:00

English content removed

The pt-br file had english content after translation. That content is
now removed.
This commit is contained in:
Cássio Böck 2015-10-29 23:17:09 -02:00
parent 7843270313
commit c013b2c957
2 changed files with 1 additions and 229 deletions

View File

@ -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!

View File

@ -6,6 +6,7 @@ contributors:
- ["Sean Corrales", "https://github.com/droidenator"] - ["Sean Corrales", "https://github.com/droidenator"]
translators: translators:
- ["Gabriel Gomes", "https://github.com/gabrielgomesferraz"] - ["Gabriel Gomes", "https://github.com/gabrielgomesferraz"]
- ["Cássio Böck", "https://github.com/cassiobsilva"]
lang: pt-br lang: pt-br
--- ---
@ -155,16 +156,6 @@ body {
background-color: rgba(0, 0, 0, 0.75); background-color: rgba(0, 0, 0, 0.75);
} }
/* You may also define your own functions. Functions are very similar to
mixins. When trying to choose between a function or a mixin, remember
that mixins are best for generating CSS while functions are better for
logic that might be used throughout your Sass code. The examples in
the Math Operators' section are ideal candidates for becoming a reusable
function. */
/* This function will take a target size and the parent size and calculate
and return the percentage */
/* Você também pode definir suas próprias funções. As funções são muito semelhantes aos /* Você também pode definir suas próprias funções. As funções são muito semelhantes aos
   mixins. Ao tentar escolher entre uma função ou um mixin, lembre-    mixins. Ao tentar escolher entre uma função ou um mixin, lembre-
   que mixins são os melhores para gerar CSS enquanto as funções são melhores para    que mixins são os melhores para gerar CSS enquanto as funções são melhores para
@ -319,11 +310,6 @@ ol {
padding: 0; padding: 0;
} }
/* Sass offers @import which can be used to import partials into a file.
This differs from the traditional CSS @import statement which makes
another HTTP request to fetch the imported file. Sass takes the
imported file and combines it with the compiled code. */
/* Sass oferece @import que pode ser usado para importar parciais em um arquivo. /* Sass oferece @import que pode ser usado para importar parciais em um arquivo.
   Isso difere da declaração CSS @import tradicional, que faz    Isso difere da declaração CSS @import tradicional, que faz
   outra solicitação HTTP para buscar o arquivo importado. Sass converte os    outra solicitação HTTP para buscar o arquivo importado. Sass converte os
@ -354,12 +340,6 @@ body {
==============================*/ ==============================*/
/* Placeholders are useful when creating a CSS statement to extend. If you
wanted to create a CSS statement that was exclusively used with @extend,
you can do so using a placeholder. Placeholders begin with a '%' instead
of '.' or '#'. Placeholders will not appear in the compiled CSS. */
/* Os espaços reservados são úteis na criação de uma declaração CSS para ampliar. Se você /* Os espaços reservados são úteis na criação de uma declaração CSS para ampliar. Se você
   queria criar uma instrução CSS que foi usado exclusivamente com @extend,    queria criar uma instrução CSS que foi usado exclusivamente com @extend,
   Você pode fazer isso usando um espaço reservado. Espaços reservados começar com um '%' em vez    Você pode fazer isso usando um espaço reservado. Espaços reservados começar com um '%' em vez
@ -396,11 +376,6 @@ body {
============================== * / ============================== * /
/* Sass provides the following operators: +, -, *, /, and %. These can
be useful for calculating values directly in your Sass files instead
of using values that you've already calculated by hand. Below is an example
of a setting up a simple two column design. */
/* Sass fornece os seguintes operadores: +, -, *, /, e %. estes podem /* Sass fornece os seguintes operadores: +, -, *, /, e %. estes podem
   ser úteis para calcular os valores diretamente no seu Sass arquivos em vez    ser úteis para calcular os valores diretamente no seu Sass arquivos em vez
   de usar valores que você já calculados pela mão. Abaixo está um exemplo    de usar valores que você já calculados pela mão. Abaixo está um exemplo