Skip to content

Instantly share code, notes, and snippets.

@rodrigorgs
rodrigorgs / class.js
Created April 21, 2013 17:13
Simple JavaScript Inheritance, by John Resig, from http://ejohn.org/blog/simple-javascript-inheritance/
// from http://ejohn.org/blog/simple-javascript-inheritance/
/* Simple JavaScript Inheritance
* By John Resig http://ejohn.org/
* MIT Licensed.
*/
// Inspired by base2 and Prototype
(function(){
var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
// The base Class implementation (does nothing)
@rodrigorgs
rodrigorgs / fp.md
Last active September 6, 2024 01:48
Exercícios sobre programação funcional

Primeiramente, crie um arquivo chamado index.html com o seguinte conteúdo:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<body>

Programação funcional

Nomes, vinculação e escopo

Em programas de computador, nomes representam coisas, como valores, comportamentos etc. Os nomes são vinculados às coisas que representam em diversos momentos. Por exemplo:

  • O nome if é vinculado ao comportamento de estrutura de seleção em tempo de projeto de linguagem
  • Em C, quando você escreve #define PI 3.14159, o nome PI é vinculado ao valor 3.14159 em tempo de compilação
  • Em geral, variáveis são vinculadas aos seus valores em tempo de execução
  • 10 de março de 2016
  • Universidade Federal da Bahia
  • MATA60 - Banco de Dados
  • Prof. Rodrigo Rocha

Roteiro: índices

  1. Abra um terminal, execute o python e cole o seguinte código:
// Crie um arquivo HTML que importa a biblioteca Ramda
// <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.19.1/ramda.min.js"></script>
// Exercício 1
//==============
// Refatore o código para remover todos os argumentos através da aplicação parcial da função
var words = function(str) {
return R.split(' ', str);
};
@rodrigorgs
rodrigorgs / enumerate-refs.rb
Last active October 18, 2016 16:59
Modifies an ODT file, replacing occurrences of [[label]] with sequential numbers (one sequence per label)
#!/usr/bin/env ruby
# enumerate-refs.rb
# Author: Rodrigo Rocha <[email protected]>
# Date: 2016-10-18
# To install the dependency, run on terminal:
# gem install rubyzip
require 'zip'
class Referencer; end
@rodrigorgs
rodrigorgs / enumerate-refs2.rb
Last active October 18, 2016 17:25
Modifies an ODT file, replacing occurrences of [[id-label]] with sequential numbers (one sequence per id).
#!/usr/bin/env ruby
# enumerate-refs2.rb
# Author: Rodrigo Rocha <[email protected]>
# Date: 2016-10-18
# To install the dependency, run on terminal:
# gem install rubyzip
require 'zip'
class Referencer; end
@rodrigorgs
rodrigorgs / web_steps.rb
Last active November 12, 2016 10:55 — forked from wilkerlucio/webrat_steps_br.rb
cucumber pt-br websteps - não foi testado
# language: pt
# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
# It is recommended to regenerate this file in the future when you upgrade to a
# newer version of cucumber-rails. Consider adding your own code to a new file
# instead of editing this one. Cucumber will automatically load all features/**/*.rb
# files.
require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))

JavaScript (JS)

Estrutura

Crie um arquivo com extensão .html com o seguinte conteúdo e abra-o em um navegador.

<!DOCTYPE html>
<html>
<head>