(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| using System; | |
| using System.Collections.Generic; | |
| using System.Linq; | |
| using System.Text; | |
| using System.Threading.Tasks; | |
| namespace ConsoleApplication1 | |
| { | |
| // Version C# to: https://gist.github.com/adomokos/989193 |
| function identity(value) { | |
| return value; | |
| } | |
| function createArray(length, transformation) { | |
| transformation = transformation || identity; | |
| var arr = []; | |
| while (length != 0) { | |
| arr.push(transformation(arr.length)); |
| const hackerPowers = { | |
| hackFacebook(userName) { | |
| // something code | |
| return `Olá, Mr ${userName}, meu nome é ${this.name}... e eu fodi a sua timeline ;)`; | |
| }, | |
| }; | |
| const composeWithDelegation = (obj, delegator) => { | |
| for (let [key, value] of Object.entries(delegator)) { | |
| if (typeof value === 'function') { |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| const atomicArray = require('atomic-array') // [Function] | |
| const randomNumber = require('random-number') // [Function] | |
| const arr1 = atomicArray(10, randomNumber) | |
| const arr2 = atomicArray(10, randomNumber.createEven) | |
| const arr3 = atomicArray(10, randomNumber.createOdd) |
| const Estudo = Class.new do | |
| public static void main(...args: string[]) { | |
| Func<int, int, Number> somar = (x, y) => +$this->soma(new Integer(x), new Integer(y)); | |
| local left, right = args.map(Integer::parseInt); | |
| puts resultado.call(left, right) | |
| } | |
| soma :: Integer -> Integer -> Integer | |
| def soma(n1, n2): |
| EndNo = Class.new { | |
| define_method(:if_example) { |condition| | |
| (condition && ->{ | |
| "yeah, true!" | |
| } || ->{ | |
| "why not?" | |
| }).call | |
| } | |
| define_method(:while_example) { |limit| |
| console.log('Conta'); | |
| class Conta { | |
| constructor() { | |
| this.saldo = 0; | |
| } | |
| deposita(valor) { | |
| this.saldo += valor; | |
| } | |
| } |
| const isObject = value => typeof value === 'object' && value !== null; | |
| const mergeDeepWithoutLoop = (target, source) => { | |
| source = new Proxy(source, { | |
| get: function(source, property) { | |
| const value = source[property]; | |
| if (isObject(value)) { | |
| return mergeDeepWithoutLoop(target[property], value); | |
| } |
| // library or otherwise | |
| // { | |
| type Func<T, TResult> = (value: T) => TResult; | |
| type Predicate<T> = Func<T, boolean>; | |
| function compose<TIn, TMiddle, TOut>(f: Func<TMiddle, TOut>, g: Func<TIn, TMiddle>) { | |
| return (value: TIn) => f(g(value)); | |
| } |