Skip to content

Instantly share code, notes, and snippets.

View olegon's full-sized avatar

Leandro Gonçalves de Oliveira olegon

View GitHub Profile
const objeto = { };
objeto.chave_qualquer = 'valor_qualquer';
const objeto = { };
objeto['chave_qualquer'] = 'valor_qualquer';
function funcaoMisteriosaQueObtemOIteratorDeUmArray(array) {
const funcaoQueConstroiUmIterator = array[Symbol.iterator];
return funcaoQueConstroiUmIterator();
}
const array = [1, 2, 3];
const iterator = funcaoMisteriosaQueObtemOIteratorDeUmArray(array);
let iteratorResult = iterator.next();
while (!iteratorResult.done) {
console.log(iteratorResult.value); // Vai imprimir 1, 2 e 3
iteratorResult = iterator.next();
}
const array = [1, 2, 3];
const iterator = funcaoMisteriosaQueObtemOIteratorDeUmArray(array);
iterator.next(); // { done: false, value: 1 }
iterator.next(); // { done: false, value: 2 }
iterator.next(); // { done: false, value: 3 }
iterator.next(); // { done: true, value: undefined }
const array = [1, 2, 3];
for (let elemento of array) {
console.log(elemento); // Vai imprimir 1, 2 e 3
}
@olegon
olegon / iterator.js
Created April 22, 2018 01:28
Learning JavaScript Iterators
/*
O for..of funciona através da invocação da função identificada por Symbol.iterator (um símbolo único)
de um objeto:
const it = objeto[Symbol.iterator]();
No caso, it é um objeto que possui uma função next() que retorna um contrato assim:
{
value: 'some value',
#include <bits/stdc++.h>
using namespace std;
struct edge {
size_t a, b;
int weight;
};
struct edge_comparator {
#include <bits/stdc++.h>
using namespace std;
class unionfind {
private:
size_t _n;
size_t *_nodes;
size_t *_sizes;
size_t root(size_t n);
@olegon
olegon / Programa.java
Last active July 26, 2017 18:10
Um pouquinho sobre Java class-loaders!
import java.net.URLClassLoader;
import java.net.URL;
import java.net.MalformedURLException;
import java.lang.ClassNotFoundException;
import java.io.File;
public class Programa {
public static void main(String[] args) throws ClassNotFoundException, MalformedURLException {
URL[] bin = { new File(".").toURI().toURL() };