mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-01-17 13:38:38 +01:00
English content removed
The pt-br file had english content after translation. That content is now removed.
This commit is contained in:
parent
7843270313
commit
c013b2c957
@ -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!
|
@ -6,6 +6,7 @@ contributors:
|
||||
- ["Sean Corrales", "https://github.com/droidenator"]
|
||||
translators:
|
||||
- ["Gabriel Gomes", "https://github.com/gabrielgomesferraz"]
|
||||
- ["Cássio Böck", "https://github.com/cassiobsilva"]
|
||||
lang: pt-br
|
||||
---
|
||||
|
||||
@ -155,16 +156,6 @@ body {
|
||||
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
|
||||
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
|
||||
@ -319,11 +310,6 @@ ol {
|
||||
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.
|
||||
Isso difere da declaração CSS @import tradicional, que faz
|
||||
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ê
|
||||
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
|
||||
@ -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
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user