Siguiente: Identificadores, Anterior: Introducción a las expresiones, Subir: Expresiones [Índice general][Índice]
Maxima distingue entre operadores que son "nombres" y operadores que son "verbos".
Un verbo es un operador que puede ser ejecutado.
Un nombre es un operador que aparece como un símbolo en una expresión pero sin ser ejecutado.
Por defecto, los nombres de funciones son verbos.
Un verbo puede transformarse en nombre utilizando el apóstrofo o aplicando la función nounify
.
Un nombre puede transformarse en verbo aplicando la función verbify
.
La variable nouns
hace que ev
evalúe los nombres presentes en una expresión.
La forma verbal se distingue mediante la precedencia del carácter dólar $
al correspondiente símbolo de Lisp.
Por otro lado, la forma nominal se distingue mediante la precedencia del carácter porcentaje %
al correspondiente símbolo de Lisp.
Algunos nombres gozan de propiedades especiales para su representación, como 'integrate
o 'derivative
(devuelto por diff
), pero la mayoría no.
Por defecto, las formas nominal y verbal de una función son idénticas cuando se muestran en un terminal.
La variable global noundisp
hace que Maxima muestre los nombres precedidos del apóstrofo '
.
Véanse también noun
, nouns
, nounify
y verbify
.
Ejemplos:
(%i1) foo (x) := x^2; 2 (%o1) foo(x) := x (%i2) foo (42); (%o2) 1764 (%i3) 'foo (42); (%o3) foo(42) (%i4) 'foo (42), nouns; (%o4) 1764 (%i5) declare (bar, noun); (%o5) done (%i6) bar (x) := x/17; x (%o6) ''bar(x) := -- 17 (%i7) bar (52); (%o7) bar(52) (%i8) bar (52), nouns; 52 (%o8) -- 17 (%i9) integrate (1/x, x, 1, 42); (%o9) log(42) (%i10) 'integrate (1/x, x, 1, 42); 42 / [ 1 (%o10) I - dx ] x / 1 (%i11) ev (%, nouns); (%o11) log(42)
Siguiente: Identificadores, Anterior: Introducción a las expresiones, Subir: Expresiones [Índice general][Índice]