#shared
AvanzadoSintaxis
#shared as record
¿Qué hace?
#shared devuelve un record con todas las funciones y valores disponibles en el entorno M actual. Es la forma de hacer introspección del lenguaje: ver qué funciones existen, explorar su documentación interna y hacer lookup dinámico de funciones por nombre.
Ejemplo
// Ver todas las funciones disponibles
let
todas = #shared,
// Filtrar sólo funciones de texto
deTexto = Record.SelectFields(
todas,
List.Select(Record.FieldNames(todas), each Text.StartsWith(_, "Text."))
)
in deTexto
// Obtener documentación de una función
let
doc = Value.Metadata(#shared[Text.Upper])
in doc // Record con Summary, Category, etc.
// Llamar función por nombre (dinámico)
let
nombreFn = "Text.Upper",
fn = Record.Field(#shared, nombreFn)
in fn("hola kawaii") // "HOLA KAWAII"
#shared como única expresión y ejecútalo. Verás una tabla con todas las funciones del lenguaje con su documentación — ¡es como la referencia oficial integrada!