Pergunta

Para os meus linguagens de programação é claro, eu estou tentando escrever alguns trechos de código em linguagens que o uso de passagem por nome ou passagem por valor-resultado, de preferência por padrão, mas qualquer linguagem que suporta até mesmo um desses seria ótimo. No entanto, eu não tenho sido capaz de encontrar uma única linguagem que suporte qualquer um deles. Alguém sabe de uma linguagem que usa passagem por valor-resultado ou passar pelo nome? De preferência uma linguagem imperativa.

Foi útil?

Solução

O wikipedia artigo sobre estratégia de avaliação sugere que a chamada por valor-resultado é suportada por fortran. Call-by-name é suportado por Algol 68.

Outras dicas

Eu acho C Macros são Pass-by-name ( não em si é claro linguagem C). Eu não sei de nenhum línguas passagem por valor-resultado, eu tenho medo (para ser honesto eu tinha que fazer uma pesquisa na web para descobrir o que isso significa!).

Se você passar uma variável para uma função fortran e modificá-lo lá, você também modificá-lo no programa de chamada:

psuedocode:

int j = 1
print j
addOne(j)
print j

saída seria:

1
2

Eu acho que a linguagem CLIPS sistema especialista seria passe pelo nome.

Ambos Java e C são pass-by-value idioma.

C é claramente uma passagem pela linguagem valor.

Java é sempre dito "primitivos são passados ??por valor, os objetos são passados ??por referência". Mas desde objeto java é uma referência a qualquer momento, por isso é realmente um valor de referência.

especificação de linguagem Java diz o seguinte: http://java.sun.com/ docs / books / jls / second_edition / html / classes.doc.html # 37472

Algol suportes passagem por nome, como você pode encontrar alguma explicação aqui

Foi-me dito que ADA apoia passar por valor / resultado, mas não tentei ainda.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top