typestar

Lambdas en Visual Basic

Expresiones Function() y Sub(), de una línea o un bloque completo.

Dim twice = Function(n As Integer) n * 2
Console.WriteLine(twice(21))

Dim shout As Action(Of String) = Sub(s) Console.WriteLine(s.ToUpper())
shout("done")

Dim describe = Function(n As Integer)
                   If n Mod 2 = 0 Then Return $"{n} is even"
                   Return $"{n} is odd"
               End Function

For Each n In {7, 12}
    Console.WriteLine(describe(n))
Next

Cómo funciona

  1. Function(n As Integer) n * 2 devuelve su expresión.
  2. Una lambda Sub encaja en un Action — sentencias, sin valor.
  3. Las lambdas multilínea abren un bloque y cierran con End Function.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
329
Tokens
97
Ritmo de tres estrellas
80 tpm

Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 73 segundos.

Escribe este fragmento

Paso 3 de 3 en Subs y funciones; paso 15 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →

Lambdas en otros lenguajes