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
Function(n As Integer) n * 2devuelve su expresión.- Una lambda
Subencaja en unAction— sentencias, sin valor. - Las lambdas multilínea abren un bloque y cierran con
End Function.
Palabras clave y builtins usados aquí
DimEachEndForFunctionIfIntegerNextOfReturnStringThen
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.
Paso 3 de 3 en Subs y funciones; paso 15 de 29 en Fundamentos del lenguaje.