class Pizza {
constructor(ingredients) {
this.ingredients = ingredients;
}
// is this thing in the pizza a topping?
isTopping(topping){
let newPizza = new Pizza(this.ingredients);
let index = newPizza.ingredients.indexOf(topping);
if (index === -1)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
class Building: | |
def __init__(self, world, name, owner, color, _type): | |
self.name = name | |
self.owner = owner # Person obj | |
self.color = color | |
self.type = _type | |
self.assign_person(owner) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import {Client, RichEmbed} from 'discord.js' | |
const client = new Client(); | |
client.login(process.env['BOT_TOKEN']); | |
function sendEmbed(ownerURL: string, appId: string){ | |
return new RichEmbed() | |
.setAuthor(`⛔ Yikes, you leaked your token! ⛔`) | |
.setThumbnail(ownerURL) | |
.setColor('#ff0000') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* 1. press ctrl + shift + i | |
* 2. go to "Console" and find any log that starts with "###", click on its link | |
* 3. pretty print the script | |
* 4. search for "player.x = " | |
* 5. put a breakpoint on the same line and move your character with your mouse (game is paused now) | |
* 6. paste in the script | |
* 7. remove breakpoint, continue game | |
* 8. dab on the haters but enjoy knowing the fact you're so salty in a Facebook game that you search for hacks | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fromEven num = num `div` 2 | |
fromOdd = (+1) . (*3) | |
collatz :: Int -> [Int] | |
collatz num | |
| num == 1 = [1] | |
| even num = next fromEven | |
| odd num = next fromOdd | |
where next func = num : (collatz $ func num) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const partition = (func, array) => array.reduce(([pass, nopass], item) => { | |
if (func(item)) { | |
return [[...pass, item], nopass] | |
} | |
return [pass, [...nopass, item]] | |
}, [[], []]); | |
const glob = async (path, regex) => { | |
const dirContent = await fsp.readdir(path, {withFileTypes: true}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* (*) Due to the eager nature of promises, `items` must be an | |
* array of promise returning functions and not an array of promises | |
*/ | |
const batchProcess = (count, items) => { | |
const chunked = R.splitEvery(count, items); | |
const process = async ([head, ...tail]) => { | |
const promises = head.map(func => func()); | |
const results = await Promise.all(promises); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const parallelMap = (arr, fn, max) => { | |
const out = []; | |
const initial = [...Array(max)]; | |
const fired = initial.map(() => Promise.resolve().then(async function cb() { | |
if (!arr.length) return | |
const next = arr.shift(); | |
out.push(await fn(next)); | |
return cb(); | |
})); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { CommandOptions, Command } from "discord-akairo"; | |
interface CreateCommand extends CommandOptions { | |
/** | |
* The exec function can be called in 3 different ways, however, | |
* Typescript doesn't seem to be able to support explicit `this` | |
* coming from external types, union types or overloads. In order to | |
* specify the `this` type the signature MUST be directly assigned | |
* in the interface | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const chunk = (array, num) => array.reduce((array, current) => { | |
const last = array[array.length - 1]; | |
const init = array.slice(0, -1); | |
if (!last) { | |
return [...init, [current]] | |
} | |
if (last.length >= num) { | |
return [...array, [current]] | |
} | |
return [...init, [...last, current]]; |
OlderNewer