Wolfram Computation Meets Knowledge

Wolfram Language:
Introducción rápida para programadores

Mostrar notas adicionales para:
Todas las secciones 
  • Acerca de Wolfram Language
  • Mostrar notas adicionales para...
  • Mostrar notas para Java
  • Mostrar notas para Python
  • Ocultar notas adicionales
Comience ya

Patrones Versión de video

Notas para programadores de Java:

El lenguaje de patrones de Wolfram Language le permite escribir patrones para estructuras arbitrarias simbólicas, permitiendo una potente manipulación similar a la de regex para ser generalizada para cualquier expresión y cualquier forma de datos.

Notas para programadores de Python:

El lenguaje de patrones de Wolfram Language le permite describir patrones para estructuras arbitrarias simbólicas, permitiendo una potente manipulación similar a la de regex para ser generalizada para cualquier expresión y cualquier forma de datos.

Los patrones representan clases de expresiones. El constructo básico de patrón _ (se pronuncia "blank") representa cualquier expresión.

Encuentre los casos en una lista que concuerden con el patrón f[_]:

In[1]:=1
Cases[{f[1], g[2], f[5], g[3]}, f[_]]
Out[1]=1

x_ (abreviatura de x:_) representa un patrón cuyo valor será nombrado x:

In[2]:=2
Replace[f[100], f[x_] -> x + 5]
Out[2]=2

/. significa "reemplazar en todas partes":

In[3]:=3
{f[1], g[2], f[5], g[3]} /. f[x_] -> x + 5
Out[3]=3

Notas para programadores de Java:

Este tipo de metaprogramación estructural que aquí se muestra es única en la estructura simbólica de Wolfram Language.

Notas para programadores de Python:

La metaprogramación estructural que se muestra aquí, la cual trata el código y los datos de la misma manera, es única en la estructura simbólica de Wolfram Language.


__ ("double blank") representa cualquier secuencia de expresiones:

In[1]:=1
Cases[{f[1, 2], f[1], g[3]}, f[__]]
Out[1]=1

a | b | c presenta a, b o c:

In[1]:=1
Cases[{f[1], g[2], f[2], f[5], g[3]}, f[1 | 5]]
Out[1]=1

Notas para programadores de Java:

Este uso de | se asemeja a la notación de expresiones regulares de Java, aunque en Java | también puede indicar un OR a nivel de bits.

Notas para programadores de Python:

| es usado en patrones de Wolfram Language de forma similar al uso de expresiones regulares en Python. Sin embargo, en Wolfram Language, | funciona para cualquier tipo de concordancia simbólica de patrones, no solo para cadenas de caracteres.

También trabaja con cabeceras:

In[2]:=2
Cases[{f[1], g[2], f[2], f[5], g[3]}, (f | g)[2]]
Out[2]=2

_h representa cualquier expresión con cabecera h:

In[1]:=1
Cases[{1, 2.5, 3.5, 4}, _Real]
Out[1]=1

:> es una norma de retraso, la análoga de := para una regla.

REFERENCIA RÁPIDA: Operaciones que involucran patrones


¿Cuál de estos patrones concuerda con la expresión g[1, 2, 3]?


¿Cuál de estas opciones recoge todos los elementos de la lista {f[1], g[2], f[5], g[3]} que concuerdan con g[_]?


El resultado de la expresión {f[1], f[5], f[x]} /. f[x_] x + 4 es:

© 2020 Wolfram. Todos los derechos reservados.