Wolfram Computation Meets Knowledge

Wolfram Language:
Introdução rápida para programadores

Mostrar informações adicionais para:
Todas as seções 
  • Sobre Wolfram Language
  • Mostrar informações adicionais para...
  • Mostrar informações para Java
  • Mostrar informações para Python
  • Ocultar informações adicionais
Comece agora

Definições de Função Versão em vídeo

Na Wolfram Language, definições de funções são apenas atribuições que dão regras de transformação para padrões.

Comentários para programadores de Java:

Diferente dos métodos orientados a objeto na linguagem Java, as funções em Wolfram Language não são restritas a uma hierarquia de classe.

Defina uma função de dois argumentos chamados de x e y:

In[1]:=

Comentários para programadores de Java:

Nas definições de funções básicas em Wolfram Language, nomes de parâmetros são seguidos por _ ("blank"). Diferente dos métodos de Java, as funções em Wolfram Language aceitarão qualquer tipo de dados de forma padrão.

Comentários para programadores de Python:

Nas definições de funções básicas em Wolfram Language, nomes de parâmetros são seguidos por _ ("blank"), permitindo que os parâmetros correspondam a padrões simbólicos arbitrários. Isso permite definições de funções poderosas e flexíveis que não são possíveis de forma padrão em Python. Você pode definir funções baseadas em Wolfram Language para uso em Python usando session.function da Wolfram Client Library para Python.


Use a definição:

In[2]:=
Out[2]=

Apague a definição:

In[3]:=

As funções podem ser definidas, especificando os seus valores numa sequência de casos:

In[1]:=
Out[1]=

In[2]:=
Out[2]=

Qualquer caso indefinido é deixado sem transformar:

In[3]:=
Out[3]=

Você pode usar /; para restringir uma definição para aplicar apenas quando uma determinada condição se apresenta:

In[4]:=

Comentários para programadores de Java:

Usar /; em Wolfram Language funciona como o comando abreviado If.

Comentários para programadores de Python:

Usar /; em Wolfram Language funciona como o comando abreviado if que pode ser aplicado a uma função, permitindo que uma função escolha com flexibilidade uma definição baseada em uma condição.


Você pode definir transformações para qualquer lado esquerdo — uma forma conveniente de "desestruturar" argumentos:

In[1]:=

In[2]:=
Out[2]=

A Wolfram Language não possui tipos propriamente ditos; tudo é uma expressão simbólica. A "cabeça" de uma expressão pode ser usada como uma espécie de designador de tipo generalizado.

Dê definições diferentes para o que f deveria fazer quando aplicado a um objeto "u" ou a um objeto "v":

In[1]:=
In[2]:=

Comentários para programadores de Java:

Isso é semelhante a sobregarregar um método Java para diferentes tipos de dados, exceto em Wolfram Language em que as funções podem ser sobrecarregadas de forma geral, baseadas na estrutura simbólica de seus argumentos.

Comentários para programadores de Python:

Uma função em Wolfram Language pode usar a correspondência de padrões integrada para alterar seu comportamento baseada na estrutura simbólica de qualquer um dos seus argumentos. Para conseguir isso em Python exigiria um código personalizado bastante elaborado ou bibliotecas externas.

CONSULTA RÁPIDA: Definindo variáveis e funções


Qual das seguintes opções define uma função f que adiciona dois números (exemplo: f[3, 4] == 7)?


Qual a definição tornaria {f[1], f[2], f[3], f[4]} em {f[1], 5, 6, f[4]}?


Se a função f é definida como f[x_, y_] := x + y, então qual delas é o valor de f[a, b]?

© 2024 Wolfram. Todos os direitos reservados.