Skip to content

Instantly share code, notes, and snippets.

View gabrielschade's full-sized avatar

Gabriel Schade gabrielschade

View GitHub Profile
import functools
array = [ 1 , 2, 3, 4]
soma = functools.reduce(lambda primeiro_numero,segundo_numero : primeiro_numero + segundo_numero, array)
UpsideDown<int> elevenPower = 100.PortalToUpsideDown();
UpsideDown<int> elevenIncreasedPower =
UpsideDown<int>.Map(
elevenPower,
power => power * 10);
UpsideDown<int> elevenIncreasedPower2 =
elevenPower.Map(power => power * 10);
let elevenPower = 100 |> UpsideDown.portalTo
let elevenIncreasedPower =
elevenPower
|> UpsideDown.map (fun power -> power * 10)
let elevenIncreasedPower2 elevenPower =
(fun power -> power * 10) <!> elevenPower
let (<!>) = map
public static UpsideDown<TResult> Map<T, TResult>(
this UpsideDown<T> value,
Func<T, TResult> projection)
=> UpsideDown<T>.Map(value, projection);
public static UpsideDown<TResult> Apply<T, TResult>(
this UpsideDown<T> value,
UpsideDown<Func<T, TResult>> upsideDownFunction)
=> UpsideDown<T>.Apply(value, upsideDownFunction);
//Usage
Func<string, string> messageWithLight = message =>
{
public static UpsideDown<TResult> Map<TResult>(
UpsideDown<T> upsideDownValue,
Func<T, TResult> normalFunction)
=> Apply(upsideDownValue, normalFunction.PortalToUpsideDown());
let map normalFunction upsideDownValue =
(normalFunction |> portalTo)
<*> upsideDownValue
let map1 normalFunction upsideDownValue =
upsideDownValue
|> portalFrom
|> normalFunction
|> portalTo
public static UpsideDown<TResult> Map1<TResult>(
UpsideDown<T> upsideDownValue,
Func<T, TResult> normalFunction)
{
var normalValue = upsideDownValue.PortalFromUpsideDown();
var normalResult = normalFunction(normalValue);
return normalResult.PortalToUpsideDown();
}