diff options
Diffstat (limited to 'pt-br')
| -rw-r--r-- | pt-br/amd-pt.html.markdown | 7 | ||||
| -rw-r--r-- | pt-br/elixir-pt.html.markdown | 18 | ||||
| -rw-r--r-- | pt-br/go-pt.html.markdown | 6 | ||||
| -rw-r--r-- | pt-br/make-pt.html.markdown | 490 | ||||
| -rw-r--r-- | pt-br/markdown-pt.html.markdown | 39 | ||||
| -rw-r--r-- | pt-br/pug-pt.html.markdown | 2 | ||||
| -rw-r--r-- | pt-br/pyqt-pt.html.markdown | 6 | ||||
| -rw-r--r-- | pt-br/self-pt.html.markdown | 1 | ||||
| -rw-r--r--[-rwxr-xr-x] | pt-br/stylus-pt.html.markdown | 0 | ||||
| -rw-r--r-- | pt-br/visualbasic-pt.html.markdown | 2 | 
10 files changed, 292 insertions, 279 deletions
diff --git a/pt-br/amd-pt.html.markdown b/pt-br/amd-pt.html.markdown index 40c7cd09..886cb253 100644 --- a/pt-br/amd-pt.html.markdown +++ b/pt-br/amd-pt.html.markdown @@ -19,6 +19,7 @@ módulos de forma síncrona fica sujeito a problemas de performance, usabilidade  debugging e problemas de acesso em requisições cross-domain.  ### Conceito básico +  ```javascript  // O básico da API de AMD consiste de nada mais que dois métodos: `define` e `require`  // e isso é tudo sobre a definição de módulo e consumo: @@ -122,6 +123,7 @@ define(['daos/coisas', 'modules/algunsHelpers'], function(coisasDao, helpers){    return AlgumaClasse;  });  ``` +  Para alterar o comportamento padrão de mapeamento de caminho de pastas utilize  `requirejs.config(configObj)` em seu `main.js`: @@ -141,6 +143,7 @@ require(['jquery', 'coolLibFromBower', 'modules/algunsHelpers'], function($, coo    coolLib.facaAlgoDoidoCom(helpers.transform($('#foo')));  });  ``` +  Apps baseados em `require.js` geralmente terão um único ponto de acesso (`main.js`) que é passado à tag script do `require.js` como um data-attribute. Ele vai ser automaticamente carregado e executado com o carregamento da página:  ```html @@ -162,16 +165,19 @@ Muitas pessoas preferem usar AMD para sanar a organização do código durante o  `require.js` vem com um script chamado `r.js` (que você vai provavelmente rodar em node.js, embora Rhino suporte também) que você pode analisar o gráfico de dependências de seu projeto, e fazer em um único arquivo contendo todos os seus módulos (corretamente nomeados), minificados e prontos para serem consumidos.  Instale-o utilizando `npm`: +  ```shell  $ npm install requirejs -g  ```  Agora você pode alimentá-lo com um arquivo de configuração: +  ```shell  $ r.js -o app.build.js  ```  Para o nosso exemplo acima a configuração pode ser essa: +  ```javascript  /* file : app.build.js */  ({ @@ -188,6 +194,7 @@ Para o nosso exemplo acima a configuração pode ser essa:  ```  Para usar o arquivo gerado, em produção, simplesmente troque o `data-main`: +  ```html  <script src="require.js" data-main="app/main-built"></script>  ``` diff --git a/pt-br/elixir-pt.html.markdown b/pt-br/elixir-pt.html.markdown index aa1bd060..18441ff7 100644 --- a/pt-br/elixir-pt.html.markdown +++ b/pt-br/elixir-pt.html.markdown @@ -1,5 +1,5 @@  --- -language: elixir +language: Elixir  contributors:      - ["Joao Marques", "http://github.com/mrshankly"]      - ["Dzianis Dashkevich", "https://github.com/dskecse"] @@ -20,7 +20,7 @@ e muitos outros recursos.  # Não há comentários de múltiplas linhas,  # mas você pode empilhar os comentários. -# Para usar o shell do elixir use o comando `iex`. +# Para usar o shell do Elixir use o comando `iex`.  # Compile seus módulos com o comando `elixirc`.  # Ambos devem estar em seu path se você instalou o Elixir corretamente. @@ -51,7 +51,7 @@ elem({1, 2, 3}, 0) #=> 1  head #=> 1  tail #=> [2,3] -# Em elixir, bem como em Erlang, o sinal `=` denota pattern match, +# Em Elixir, bem como em Erlang, o sinal `=` denota pattern match,  # e não uma atribuição.  #  # Isto significa que o que estiver à esquerda (pattern) é comparado com o que @@ -85,7 +85,7 @@ linhas.  <<?a, ?b, ?c>> #=> "abc"  [?a, ?b, ?c]   #=> 'abc' -# `?a` em elixir retorna o valor ASCII para a letra `a` +# `?a` em Elixir retorna o valor ASCII para a letra `a`  ?a #=> 97  # Para concatenar listas use `++`, para binários use `<>` @@ -110,7 +110,7 @@ menor..maior = 1..10 # Pattern matching pode ser usada em ranges também  5 * 2  #=> 10  10 / 2 #=> 5.0 -# Em elixir o operador `/` sempre retorna um float. +# Em Elixir o operador `/` sempre retorna um float.  # Para divisão de inteiros use `div`  div(10, 2) #=> 5 @@ -167,7 +167,7 @@ else    "Isso será"  end -# Lembra do pattern matching? Muitas estruturas de fluxo de controle em elixir contam com ela. +# Lembra do pattern matching? Muitas estruturas de fluxo de controle em Elixir contam com ela.  # `case` nos permite comparar um valor com muitos patterns:  case {:um, :dois} do @@ -296,7 +296,7 @@ Geometry.area({:circle, 3})       #=> 28.25999999999999801048  # Geometry.area({:circle, "not_a_number"})  #=> ** (FunctionClauseError) no function clause matching in Geometry.area/1 -# Devido à imutabilidade, recursão é uma grande parte do elixir +# Devido à imutabilidade, recursão é uma grande parte do Elixir  defmodule Recursion do    def sum_list([head | tail], acc) do      sum_list(tail, acc + head) @@ -309,7 +309,7 @@ end  Recursion.sum_list([1,2,3], 0) #=> 6 -# Módulos do elixir suportam atributos, hpa atributos embutidos e você +# Módulos do Elixir suportam atributos, hpa atributos embutidos e você  # pode também adicionar os seus próprios.  defmodule MyMod do    @moduledoc """ @@ -361,7 +361,7 @@ end  ## ---------------------------  # Elixir conta com o modelo de ator para concorrência. Tudo o que precisamos para -# escrever programas concorrentes em elixir são três primitivos: spawning processes, +# escrever programas concorrentes em Elixir são três primitivos: spawning processes,  # sending messages e receiving messages.  # Para iniciar um novo processo usamos a função `spawn`, a qual leva uma função diff --git a/pt-br/go-pt.html.markdown b/pt-br/go-pt.html.markdown index 60b3a472..ce10e079 100644 --- a/pt-br/go-pt.html.markdown +++ b/pt-br/go-pt.html.markdown @@ -295,17 +295,17 @@ func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) {  ## Leitura Recomendada -A principal fonte de informação é o [web site oficial Go](http://golang.org/). +A principal fonte de informação é o [web site oficial Go](https://go.dev/).  Lá é possível seguir o tutorial, experimentar de forma iterativa, e ler muito.  A própria especificação da linguagem é altamente recomendada. É fácil de ler e  incrivelmente curta (em relação ao que é habitual hoje em dia).  Na lista de leitura para os aprendizes de Go deve constar o [código fonte da  -biblioteca padrão](http://golang.org/src/pkg/). Exaustivamente documentado, é +biblioteca padrão](https://go.dev/src/). Exaustivamente documentado, é  a melhor demonstração de código fácil de ler e de perceber, do estilo Go, e da  sua escrita idiomática. Ou então clique no nome de uma função na [documentação] -(http://golang.org/pkg/) e veja o código fonte aparecer! +(https://go.dev/pkg/) e veja o código fonte aparecer!  Outra ótima fonte para aprender Go é o [Go by example](https://gobyexample.com/).  Apesar de ser em inglês, é possível recodificar os exemplos para aprender sobre diff --git a/pt-br/make-pt.html.markdown b/pt-br/make-pt.html.markdown index 40ac733a..d908435a 100644 --- a/pt-br/make-pt.html.markdown +++ b/pt-br/make-pt.html.markdown @@ -1,245 +1,245 @@ ----
 -category: tool
 -tool: make
 -contributors:
 -    - ["Robert Steed", "https://github.com/robochat"]
 -    - ["Stephan Fuhrmann", "https://github.com/sfuhrm"]
 -translators:
 -    - ["Rogério Gomes Rio", "https://github.com/rogerlista"]
 -filename: Makefile-pt
 -
 -lang: pt-br
 ----
 -
 -Um Makefile define um gráfico de regras para criar um alvo (ou alvos). Sua finalidade é fazer o mínimo de trabalho necessário para atualizar um alvo para a versão mais recente da fonte. Famosamente escrito ao longo de um fim de semana por Stuart Feldman em 1976, ainda é amplamente usada (particularmente no Unix e no Linux) apesar de muitos concorrentes e críticas.
 -
 -Existem muitas variedades de make na existência, no entanto, este artigo pressupõe que estamos usando o GNU make, que é o padrão no Linux.
 -
 -```make
 -
 -# Comentários podem ser escritos assim.
 -
 -# O arquivo deve ser nomeado Makefile e então pode ser executado como `make <alvo>`.
 -# Caso contrário, nós usamos `make -f "nome-do-arquivo" <alvo>`.
 -
 -# Aviso - use somente TABS para identar em Makefiles, nunca espaços!
 -
 -#-----------------------------------------------------------------------
 -# Noções básicas
 -#-----------------------------------------------------------------------
 -
 -# Regras são do formato
 -# alvo: <pré-requisito>
 -# onde os pré-requisitos são opcionais.
 -
 -# Uma regra - esta regra só será executada se o arquivo0.txt não existir.
 -arquivo0.txt:
 -	echo "foo" > arquivo0.txt
 -	# Mesmo os comentários nestas seções da 'receita' são passados para o shell.
 -	# Experimentar `make arquivo0.txt` or simplyou simplesmente `make` - primeira regra é o padrão.
 -
 -# Esta regra só será executada se arquivo0.txt for mais recente que arquivo1.txt.
 -arquivo1.txt: arquivo0.txt
 -	cat arquivo0.txt > arquivo1.txt
 -	# se as mesmas regras de citação do shell.
 -	@cat arquivo0.txt >> arquivo1.txt
 -	# @ pára o comando de ser ecoado para stdout.
 -	-@echo 'hello'
 -	# - significa que make continuará em caso de erro.
 -	# Experimentar `make arquivo1.txt` na linha de comando.
 -
 -# Uma regra pode ter vários alvos e vários pré-requisitos
 -arquivo2.txt arquivo3.txt: arquivo0.txt arquivo1.txt
 -	touch arquivo2.txt
 -	touch arquivo3.txt
 -
 -# Make vai reclamar sobre várias receitas para a mesma regra. Esvaziar
 -# receitas não contam e podem ser usadas para adicionar novas dependências.
 -
 -#-----------------------------------------------------------------------
 -# Alvos falsos
 -#-----------------------------------------------------------------------
 -
 -# Um alvo falso. Qualquer alvo que não seja um arquivo.
 -# Ele nunca será atualizado, portanto, o make sempre tentará executá-lo.
 -all: maker process
 -
 -# Podemos declarar as coisas fora de ordem.
 -maker:
 -	touch ex0.txt ex1.txt
 -
 -# Pode evitar quebrar regras falsas quando um arquivo real tem o mesmo nome
 -.PHONY: all maker process
 -# Este é um alvo especial. Existem vários outros.
 -
 -# Uma regra com dependência de um alvo falso sempre será executada
 -ex0.txt ex1.txt: maker
 -
 -# Alvos falsos comuns são: todos fazem instalação limpa ...
 -
 -#-----------------------------------------------------------------------
 -# Variáveis Automáticas e Curingas
 -#-----------------------------------------------------------------------
 -
 -process: Arquivo*.txt	# Usando um curinga para corresponder nomes de arquivos
 -	@echo $^	# $^ é uma variável que contém a lista de pré-requisitos
 -	@echo $@	# imprime o nome do alvo
 -	#(fpara várias regras alvo, $@ é o que causou a execução da regra)
 -	@echo $<	# o primeiro pré-requisito listado
 -	@echo $?	# somente as dependências que estão desatualizadas
 -	@echo $+	# todas as dependências, incluindo duplicadas (ao contrário do normal)
 -	#@echo $|	# todos os pré-requisitos 'somente pedidos'
 -
 -# Mesmo se dividirmos as definições de dependência de regra, $^ vai encontrá-los
 -process: ex1.txt arquivo0.txt
 -# ex1.txt será encontrado, mas arquivo0.txt será desduplicado.
 -
 -#-----------------------------------------------------------------------
 -# Padrões
 -#-----------------------------------------------------------------------
 -
 -# Pode ensinar make a converter certos arquivos em outros arquivos.
 -
 -%.png: %.svg
 -	inkscape --export-png $^
 -
 -# As regras padrões só farão qualquer coisa se decidirem criar o alvo.
 -
 -# Os caminhos de diretório são normalmente ignorados quando as regras de
 -# padrões são correspondentes. Mas make tentará usar a regra mais
 -# apropriada disponível.
 -small/%.png: %.svg
 -	inkscape --export-png --export-dpi 30 $^
 -
 -# make utilizará a última versão para uma regra de padrão que encontrar.
 -%.png: %.svg
 -	@echo esta regra é escolhida
 -
 -# No entanto, o make usará a primeira regra padrão que pode se tornar o alvo
 -%.png: %.ps
 -	@echo esta regra não é escolhida se *.svg and *.ps estão ambos presentes
 -
 -# make já tem algumas regras padrões embutidas. Por exemplo, ele sabe
 -# como transformar arquivos *.c em arquivos *.o.
 -
 -# Makefiles antigos podem usar regras de sufixo em vez de regras padrões
 -.png.ps:
 -	@echo essa regra é semelhante a uma regra de padrão.
 -
 -# make sobre a regra de sufixo
 -.SUFFIXES: .png
 -
 -#-----------------------------------------------------------------------
 -# Variáveis
 -#-----------------------------------------------------------------------
 -# aka. macros
 -
 -# As variáveis são basicamente todos os tipos de string
 -
 -name = Ted
 -name2="Sarah"
 -
 -echo:
 -	@echo $(name)
 -	@echo ${name2}
 -	@echo $name    # Isso não funcionará, tratado como $ (n)ame.
 -	@echo $(name3) # Variáveis desconhecidas são tratadas como strings vazias.
 -
 -# Existem 4 lugares para definir variáveis.
 -# Em ordem de prioridade, do maior para o menor:
 -# 1: argumentos de linha de comando
 -# 2: Makefile
 -# 3: variáveis de ambiente do shell - faça importações automaticamente.
 -# 4: make tem algumas variáveis predefinidas
 -
 -name4 ?= Jean
 -# Somente defina a variável se a variável de ambiente ainda não estiver definida.
 -
 -override name5 = David
 -# Pára os argumentos da linha de comando de alterar essa variável.
 -
 -name4 +=grey
 -# Anexar valores à variável (inclui um espaço).
 -
 -# Valores variáveis específicos de padrões (extensão GNU).
 -echo: name2 = Sara # Verdadeiro dentro da regra de correspondência
 -	# e também dentro de suas recursivas dependências
 -	# (exceto que ele pode quebrar quando seu gráfico ficar muito complicado!)
 -
 -# Algumas variáveis definidas automaticamente pelo make
 -echo_inbuilt:
 -	echo $(CC)
 -	echo ${CXX}
 -	echo $(FC)
 -	echo ${CFLAGS}
 -	echo $(CPPFLAGS)
 -	echo ${CXXFLAGS}
 -	echo $(LDFLAGS)
 -	echo ${LDLIBS}
 -
 -#-----------------------------------------------------------------------
 -# Variáveis 2
 -#-----------------------------------------------------------------------
 -
 -# O primeiro tipo de variáveis é avaliado a cada vez que elas são usadas.
 -# TIsso pode ser caro, então existe um segundo tipo de variável que é
 -# avaliado apenas uma vez. (Esta é uma extensão do GNU make)
 -
 -var := hello
 -var2 ::=  $(var) hello
 -#:= e ::= são equivalentes.
 -
 -# Essas variáveis são avaliadas procedimentalmente (na ordem em que
 -# aparecem), quebrando assim o resto da línguagem!
 -
 -# Isso não funciona
 -var3 ::= $(var4) and good luck
 -var4 ::= good night
 -
 -#-----------------------------------------------------------------------
 -# Funções
 -#-----------------------------------------------------------------------
 -
 -# make tem muitas funções disponíveis.
 -
 -sourcefiles = $(wildcard *.c */*.c)
 -objectfiles = $(patsubst %.c,%.o,$(sourcefiles))
 -
 -# O formato é $(func arg0,arg1,arg2...)
 -
 -# Alguns exemplos
 -ls:	* src/*
 -	@echo $(filter %.txt, $^)
 -	@echo $(notdir $^)
 -	@echo $(join $(dir $^),$(notdir $^))
 -
 -#-----------------------------------------------------------------------
 -# Diretivas
 -#-----------------------------------------------------------------------
 -
 -# Inclua outros makefiles, úteis para código específico da plataforma
 -include foo.mk
 -
 -sport = tennis
 -# Compilação condicional
 -report:
 -ifeq ($(sport),tennis)
 -	@echo 'game, set, match'
 -else
 -	@echo "They think it's all over; it is now"
 -endif
 -
 -# Há também ifneq, ifdef, ifndef
 -
 -foo = true
 -
 -ifdef $(foo)
 -bar = 'hello'
 -endif
 -```
 -
 -### More Resources
 -
 -+ [documentação gnu make](https://www.gnu.org/software/make/manual/)
 -+ [tutorial de carpintaria de software](http://swcarpentry.github.io/make-novice/)
 -+ aprenda C da maneira mais difícil [ex2](http://c.learncodethehardway.org/book/ex2.html) [ex28](http://c.learncodethehardway.org/book/ex28.html)
 +--- +category: tool +tool: make +contributors: +    - ["Robert Steed", "https://github.com/robochat"] +    - ["Stephan Fuhrmann", "https://github.com/sfuhrm"] +translators: +    - ["Rogério Gomes Rio", "https://github.com/rogerlista"] +filename: Makefile-pt + +lang: pt-br +--- + +Um Makefile define um gráfico de regras para criar um alvo (ou alvos). Sua finalidade é fazer o mínimo de trabalho necessário para atualizar um alvo para a versão mais recente da fonte. Famosamente escrito ao longo de um fim de semana por Stuart Feldman em 1976, ainda é amplamente usada (particularmente no Unix e no Linux) apesar de muitos concorrentes e críticas. + +Existem muitas variedades de make na existência, no entanto, este artigo pressupõe que estamos usando o GNU make, que é o padrão no Linux. + +```make + +# Comentários podem ser escritos assim. + +# O arquivo deve ser nomeado Makefile e então pode ser executado como `make <alvo>`. +# Caso contrário, nós usamos `make -f "nome-do-arquivo" <alvo>`. + +# Aviso - use somente TABS para identar em Makefiles, nunca espaços! + +#----------------------------------------------------------------------- +# Noções básicas +#----------------------------------------------------------------------- + +# Regras são do formato +# alvo: <pré-requisito> +# onde os pré-requisitos são opcionais. + +# Uma regra - esta regra só será executada se o arquivo0.txt não existir. +arquivo0.txt: +	echo "foo" > arquivo0.txt +	# Mesmo os comentários nestas seções da 'receita' são passados para o shell. +	# Experimentar `make arquivo0.txt` or simplyou simplesmente `make` - primeira regra é o padrão. + +# Esta regra só será executada se arquivo0.txt for mais recente que arquivo1.txt. +arquivo1.txt: arquivo0.txt +	cat arquivo0.txt > arquivo1.txt +	# se as mesmas regras de citação do shell. +	@cat arquivo0.txt >> arquivo1.txt +	# @ pára o comando de ser ecoado para stdout. +	-@echo 'hello' +	# - significa que make continuará em caso de erro. +	# Experimentar `make arquivo1.txt` na linha de comando. + +# Uma regra pode ter vários alvos e vários pré-requisitos +arquivo2.txt arquivo3.txt: arquivo0.txt arquivo1.txt +	touch arquivo2.txt +	touch arquivo3.txt + +# Make vai reclamar sobre várias receitas para a mesma regra. Esvaziar +# receitas não contam e podem ser usadas para adicionar novas dependências. + +#----------------------------------------------------------------------- +# Alvos falsos +#----------------------------------------------------------------------- + +# Um alvo falso. Qualquer alvo que não seja um arquivo. +# Ele nunca será atualizado, portanto, o make sempre tentará executá-lo. +all: maker process + +# Podemos declarar as coisas fora de ordem. +maker: +	touch ex0.txt ex1.txt + +# Pode evitar quebrar regras falsas quando um arquivo real tem o mesmo nome +.PHONY: all maker process +# Este é um alvo especial. Existem vários outros. + +# Uma regra com dependência de um alvo falso sempre será executada +ex0.txt ex1.txt: maker + +# Alvos falsos comuns são: todos fazem instalação limpa ... + +#----------------------------------------------------------------------- +# Variáveis Automáticas e Curingas +#----------------------------------------------------------------------- + +process: Arquivo*.txt	# Usando um curinga para corresponder nomes de arquivos +	@echo $^	# $^ é uma variável que contém a lista de pré-requisitos +	@echo $@	# imprime o nome do alvo +	#(fpara várias regras alvo, $@ é o que causou a execução da regra) +	@echo $<	# o primeiro pré-requisito listado +	@echo $?	# somente as dependências que estão desatualizadas +	@echo $+	# todas as dependências, incluindo duplicadas (ao contrário do normal) +	#@echo $|	# todos os pré-requisitos 'somente pedidos' + +# Mesmo se dividirmos as definições de dependência de regra, $^ vai encontrá-los +process: ex1.txt arquivo0.txt +# ex1.txt será encontrado, mas arquivo0.txt será desduplicado. + +#----------------------------------------------------------------------- +# Padrões +#----------------------------------------------------------------------- + +# Pode ensinar make a converter certos arquivos em outros arquivos. + +%.png: %.svg +	inkscape --export-png $^ + +# As regras padrões só farão qualquer coisa se decidirem criar o alvo. + +# Os caminhos de diretório são normalmente ignorados quando as regras de +# padrões são correspondentes. Mas make tentará usar a regra mais +# apropriada disponível. +small/%.png: %.svg +	inkscape --export-png --export-dpi 30 $^ + +# make utilizará a última versão para uma regra de padrão que encontrar. +%.png: %.svg +	@echo esta regra é escolhida + +# No entanto, o make usará a primeira regra padrão que pode se tornar o alvo +%.png: %.ps +	@echo esta regra não é escolhida se *.svg and *.ps estão ambos presentes + +# make já tem algumas regras padrões embutidas. Por exemplo, ele sabe +# como transformar arquivos *.c em arquivos *.o. + +# Makefiles antigos podem usar regras de sufixo em vez de regras padrões +.png.ps: +	@echo essa regra é semelhante a uma regra de padrão. + +# make sobre a regra de sufixo +.SUFFIXES: .png + +#----------------------------------------------------------------------- +# Variáveis +#----------------------------------------------------------------------- +# aka. macros + +# As variáveis são basicamente todos os tipos de string + +name = Ted +name2="Sarah" + +echo: +	@echo $(name) +	@echo ${name2} +	@echo $name    # Isso não funcionará, tratado como $ (n)ame. +	@echo $(name3) # Variáveis desconhecidas são tratadas como strings vazias. + +# Existem 4 lugares para definir variáveis. +# Em ordem de prioridade, do maior para o menor: +# 1: argumentos de linha de comando +# 2: Makefile +# 3: variáveis de ambiente do shell - faça importações automaticamente. +# 4: make tem algumas variáveis predefinidas + +name4 ?= Jean +# Somente defina a variável se a variável de ambiente ainda não estiver definida. + +override name5 = David +# Pára os argumentos da linha de comando de alterar essa variável. + +name4 +=grey +# Anexar valores à variável (inclui um espaço). + +# Valores variáveis específicos de padrões (extensão GNU). +echo: name2 = Sara # Verdadeiro dentro da regra de correspondência +	# e também dentro de suas recursivas dependências +	# (exceto que ele pode quebrar quando seu gráfico ficar muito complicado!) + +# Algumas variáveis definidas automaticamente pelo make +echo_inbuilt: +	echo $(CC) +	echo ${CXX} +	echo $(FC) +	echo ${CFLAGS} +	echo $(CPPFLAGS) +	echo ${CXXFLAGS} +	echo $(LDFLAGS) +	echo ${LDLIBS} + +#----------------------------------------------------------------------- +# Variáveis 2 +#----------------------------------------------------------------------- + +# O primeiro tipo de variáveis é avaliado a cada vez que elas são usadas. +# TIsso pode ser caro, então existe um segundo tipo de variável que é +# avaliado apenas uma vez. (Esta é uma extensão do GNU make) + +var := hello +var2 ::=  $(var) hello +#:= e ::= são equivalentes. + +# Essas variáveis são avaliadas procedimentalmente (na ordem em que +# aparecem), quebrando assim o resto da línguagem! + +# Isso não funciona +var3 ::= $(var4) and good luck +var4 ::= good night + +#----------------------------------------------------------------------- +# Funções +#----------------------------------------------------------------------- + +# make tem muitas funções disponíveis. + +sourcefiles = $(wildcard *.c */*.c) +objectfiles = $(patsubst %.c,%.o,$(sourcefiles)) + +# O formato é $(func arg0,arg1,arg2...) + +# Alguns exemplos +ls:	* src/* +	@echo $(filter %.txt, $^) +	@echo $(notdir $^) +	@echo $(join $(dir $^),$(notdir $^)) + +#----------------------------------------------------------------------- +# Diretivas +#----------------------------------------------------------------------- + +# Inclua outros makefiles, úteis para código específico da plataforma +include foo.mk + +sport = tennis +# Compilação condicional +report: +ifeq ($(sport),tennis) +	@echo 'game, set, match' +else +	@echo "They think it's all over; it is now" +endif + +# Há também ifneq, ifdef, ifndef + +foo = true + +ifdef $(foo) +bar = 'hello' +endif +``` + +### More Resources + ++ [documentação gnu make](https://www.gnu.org/software/make/manual/) ++ [tutorial de carpintaria de software](http://swcarpentry.github.io/make-novice/) ++ aprenda C da maneira mais difícil [ex2](http://c.learncodethehardway.org/book/ex2.html) [ex28](http://c.learncodethehardway.org/book/ex28.html) diff --git a/pt-br/markdown-pt.html.markdown b/pt-br/markdown-pt.html.markdown index 7960a59a..fca864bb 100644 --- a/pt-br/markdown-pt.html.markdown +++ b/pt-br/markdown-pt.html.markdown @@ -8,7 +8,7 @@ translators:      - ["Monique Baptista", "https://github.com/bfmonique"]      - ["Marcel Ribeiro-Dantas", "https://github.com/mribeirodantas"] -lang: pt-br     +lang: pt-br  filename: learnmarkdown-pt.md  --- @@ -213,8 +213,8 @@ adicionais) para indentação no seu código.  ```md      my_array.each do |item| -        puts item -    end	 +      puts item +    end  ```  Código embutido pode ser criado usando o caractere de crase `` ` ``. @@ -225,13 +225,13 @@ John não sabia nem o que a função `go_to()` fazia!  No GitHub Flavored Markdown, você pode usar uma sintaxe especial para código. -<pre> -<code class="highlight">```ruby +````md +```ruby  def foobar -    puts "Olá mundo!" +  puts "Olá mundo!"  end -```</code></pre> - +``` +````  O texto acima não requer indentação, além disso o GitHub vai usar o destaque  de sintaxe da linguagem qeu você especificar após a tag <code>```</code>. @@ -272,11 +272,13 @@ Caminhos relativos funcionam também.  O Markdown também suporta links para referências no texto. -<pre><code class="highlight">[<span class="nv">Clique nesse link</span>][<span class="ss">link1</span>] para mais informações! -[<span class="nv">Também cheque esse link</span>][<span class="ss">foobar</span>] se você quiser. +```md +[Clique nesse link][link1] para mais informações! +[Também cheque esse link][foobar] se você quiser. -[<span class="nv">link1</span>]: <span class="sx">http://test.com/</span> <span class="nn">"Legal!"</span> -[<span class="nv">link2r</span>]: <span class="sx">http://foobar.biz/</span> <span class="nn">"Certo!"</span></code></pre> +[link1]: http://test.com/ "Legal!" +[link2r]: http://foobar.biz/ "Certo!" +```  O título também pode estar entre aspas simples ou entre parênteses, ou omitido   inteiramente. As referências podem estar em qualquer lugar no documento e os @@ -285,10 +287,11 @@ IDs de referência podem ser qualquer um, desde que eles sejam únicos.  Existe também a "nomeação implícita", que permite que você use o texto do link  como o id: -<pre><code class="highlight">[<span class="nv">Isso</span>][] é um link. - -[<span class="nv">Isso</span>]: <span class="sx">http://thisisalink.com/</span></code></pre> +```md +[Isso][] é um link. +[Isso]: http://thisisalink.com/ +```  Mas geralmente não são usados. @@ -322,9 +325,11 @@ exclamação na frente!  E estilo de referência funciona como esperado -<pre><code class="highlight">![<span class="nv">Esse é o alt-attribute.</span>][<span class="ss">myimage</span>] +```md +![Esse é o alt-attribute.][myimage] -[<span class="nv">Minha imagem</span>]: <span class="sx">relative/urls/cool/image.jpg</span> <span class="nn">"se precisar de um título, está aqui"</span></code></pre> +[Minha imagem]: relative/urls/cool/image.jpg "se precisar de um título, está aqui" +```  ## Miscelânea  diff --git a/pt-br/pug-pt.html.markdown b/pt-br/pug-pt.html.markdown index a74666fb..52eda86a 100644 --- a/pt-br/pug-pt.html.markdown +++ b/pt-br/pug-pt.html.markdown @@ -208,4 +208,4 @@ mixin comment(nome, comentario)  ### Saiba Mais  - [Site Oficial](https://pugjs.org/)  - [Documentação](https://pugjs.org/api/getting-started.html) -- [Repositório no Github](https://github.com/pugjs/pug) +- [Repositório no GitHub](https://github.com/pugjs/pug) diff --git a/pt-br/pyqt-pt.html.markdown b/pt-br/pyqt-pt.html.markdown index 40fe82d5..42f744e2 100644 --- a/pt-br/pyqt-pt.html.markdown +++ b/pt-br/pyqt-pt.html.markdown @@ -24,7 +24,7 @@ o pyqt!  ```python  import sys  from PyQt4 import QtGui -	 +  def window():  	# Cria um objeto para a aplicação      app = QtGui.QApplication(sys.argv) @@ -54,7 +54,7 @@ outros elementos.  Aqui mostraremos como criar uma janela popup, muito útil para perguntar ao  usuário qual decisão tomar ou exibir alguma informação. -```Python  +```python  import sys  from PyQt4.QtGui import *  from PyQt4.QtCore import * @@ -73,7 +73,7 @@ def window():      w.setWindowTitle("PyQt Dialog")      w.show()      sys.exit(app.exec_()) -	 +  # Essa função deve criar uma janela de diálogo com um botão,  # aguarda ser clicado e encerra o programa  def showdialog(): diff --git a/pt-br/self-pt.html.markdown b/pt-br/self-pt.html.markdown index eb821474..0fadf58d 100644 --- a/pt-br/self-pt.html.markdown +++ b/pt-br/self-pt.html.markdown @@ -117,6 +117,7 @@ Múltiplas expressões são separadas por ponto final. ^ retorna imediatamente.  ```  Blocos são realizados (completados) ao enviá-los a mensagem 'value' e herdando (imcumbir a) seus contextos: +  ```  "retorna 0"  [|x| diff --git a/pt-br/stylus-pt.html.markdown b/pt-br/stylus-pt.html.markdown index 40c3c02c..40c3c02c 100755..100644 --- a/pt-br/stylus-pt.html.markdown +++ b/pt-br/stylus-pt.html.markdown diff --git a/pt-br/visualbasic-pt.html.markdown b/pt-br/visualbasic-pt.html.markdown index 81292798..dcc72c04 100644 --- a/pt-br/visualbasic-pt.html.markdown +++ b/pt-br/visualbasic-pt.html.markdown @@ -8,7 +8,7 @@ lang: pt-br  filename: learnvisualbasic-pt.vb  --- -``` +```visualbasic  Module Module1  module Module1  | 
