Simple Science

Ciência de ponta explicada de forma simples

O que significa "Chamada por Nome"?

Índice

Call-by-name é um jeito de avaliar expressões em linguagens de programação. Nesse método, o programa não avalia uma expressão até que o valor dela seja realmente necessário. Isso significa que, se um valor não for usado, ele nem sequer é calculado.

Como Funciona

Quando você usa call-by-name, sempre que uma função é chamada, os argumentos são passados sem serem avaliados antes. Se a função usar o argumento, ele é avaliado naquele momento. Se o argumento não for usado na função, isso evita cálculos desnecessários.

Vantagens

Uma grande vantagem do call-by-name é que ele pode economizar tempo e recursos. Se uma expressão é complexa e não necessária o tempo todo, não vai perder esforço computando seu valor. Isso pode deixar o programa mais rápido e eficiente em certos casos.

Desvantagens

Por outro lado, call-by-name também pode causar alguns problemas. Se o argumento tiver efeitos colaterais, ou seja, se ele faz coisas além de apenas retornar um valor, esses efeitos podem acontecer várias vezes se o argumento for usado várias vezes na função. Isso pode fazer o programa se comportar de maneiras inesperadas.

Comparação com Call-by-Value

Call-by-name é frequentemente comparado com call-by-value. No call-by-value, os argumentos são avaliados antes de serem passados para uma função. Isso pode ser mais direto, mas também pode fazer mais trabalho do que o necessário se alguns valores nunca forem usados.

Artigos mais recentes para Chamada por Nome