Skip to content

Instantly share code, notes, and snippets.

@evaporei
evaporei / ramda_exercise1.js
Created September 26, 2017 02:10
Ramda functional exercise 1 - Order users by id
const R = require('ramda')
const json = {
users: [
{id: 3, name: "Thad", age: 36},
{id: 5, name: "Lucian", age: 23},
{id: 2, name: "Justine", age: 29},
{id: 4, name: "Katie", age: 26},
{id: 0, name: "Jerold", age: 52},
{id: 1, name: "Nona", age: 33}
@evaporei
evaporei / ramda_exercise2.js
Last active September 26, 2017 02:34
Ramda functional exercise 2 - Filter users that have an even age
const R = require('ramda')
const json = {
users: [
{id: 3, name: "Thad", age: 36},
{id: 5, name: "Lucian", age: 23},
{id: 2, name: "Justine", age: 29},
{id: 4, name: "Katie", age: 26},
{id: 0, name: "Jerold", age: 52},
{id: 1, name: "Nona", age: 33}
@evaporei
evaporei / ramda_exercise3.js
Created September 26, 2017 02:35
Ramda functional exercise 3 - Get the names of the 3 youngest users
const R = require('ramda')
const json = {
users: [
{id: 3, name: "Thad", age: 36},
{id: 5, name: "Lucian", age: 23},
{id: 2, name: "Justine", age: 29},
{id: 4, name: "Katie", age: 26},
{id: 0, name: "Jerold", age: 52},
{id: 1, name: "Nona", age: 33}
@evaporei
evaporei / ramda_exercise4.js
Last active September 26, 2017 02:44
Ramda functional exercise 4 - Get users in their thirties
const R = require('ramda')
const json = {
users: [
{id: 3, name: "Thad", age: 36},
{id: 5, name: "Lucian", age: 23},
{id: 2, name: "Justine", age: 29},
{id: 4, name: "Katie", age: 26},
{id: 0, name: "Jerold", age: 52},
{id: 1, name: "Nona", age: 33}
@evaporei
evaporei / desafios_pagarme_ramda.js
Last active September 28, 2017 18:25
Desafios Pagar.me Ramda
// link dos desafios:
// https://github.com/pagarme/lambda/blob/master/ramda.md#desafios
const {
add,
pipe,
prop,
find,
propEq,
filter,
propSatisfies,

Capítulo 3: Currying

O conceito é simples: você pode chamar uma função com menos argumentos do que espera, então ela retorna uma nova função que recebe os argumentos que faltam.

Você pode escolher se vai passar todos os argumentos de uma vez, ou um por vez.

var add = function(x) {
  return function(y) {
    return x + y
@evaporei
evaporei / main.rs
Created February 8, 2018 15:42
Rust request to pagar.me API
use std::io::prelude::*;
use std::net::TcpStream;
fn main() {
let mut stream = TcpStream::connect("api.pagar.me:80").unwrap();
let mut x = [0; 128];
let req = String::from("GET /1/status\n\n");
let req_bytes = req.into_bytes();
let w = stream.write(&req_bytes);
@evaporei
evaporei / main.rs
Created February 9, 2018 15:49
Threads
use std::vec::Vec;
use std::thread;
fn main() {
let array = &[1..1000];
let mut handlers = Vec::new();
for i in 0..3 {
let slice = &array[(i * 250)..((i + 1) * 250)];
@evaporei
evaporei / index.html
Created February 9, 2018 18:28
Capítulo 7 - Guilda funcional - Flickr de gatos
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.11/require.min.js"></script>
<script>
requirejs.config({
paths: {
ramda: 'https://cdnjs.cloudflare.com/ajax/libs/ramda/0.13.0/ramda.min',
jquery: 'https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min'
}
@evaporei
evaporei / main.rs
Created February 14, 2018 15:49
Cat wannabe in Rust
use std::fs::File;
use std::env;// to get command line arguments
use std::io::prelude::*;
fn main() {
let args: Vec<String> = env::args().collect();
if let Some(file_name) = args.get(1) {
match File::open(file_name) {
Ok(mut file) => {