Exemple de l'Appeler par son nom
Dans mes principes de la programmation de la classe, nous parlons des différentes méthodes d'appel. Certains nous discutés ont été:
- appel par valeur
- appel par référence
- appel par valeur/résultat
- et appeler par leur nom
Je ne peux pas trouver un exemple de comment les appeler par leur nom les œuvres. Quelqu'un veut bien me donner un exemple? Je pense que lorsque vous prenez un fichier xml en entrée c'est similaire de l'appeler par son nom. Quelqu'un pourrait-il me donner une plus traditionnels exemple?
Je ne sais pas du tout moderne exemples de l'appel par nom. C'est une très mauvaise idée de retour en ALGOL 60, et je doute que a changé.
Ce genre d'exemple que vous recherchez? Un exemple d'une langue qui utilise l'appel par nom ou un exemple de ce que l'évaluation d'une expression à l'aide de l'appel par nom pourrait ressembler?
les deux pourrait être utile. Je ne suis pas sûr, mais de ce que j'ai compris jusqu'à présent, il semble comme un assez mort idée (corrigez-moi si je me trompe) mais il est inclus dans le matériel de cours (peut-être pour des raisons historiques?)
Ce genre d'exemple que vous recherchez? Un exemple d'une langue qui utilise l'appel par nom ou un exemple de ce que l'évaluation d'une expression à l'aide de l'appel par nom pourrait ressembler?
les deux pourrait être utile. Je ne suis pas sûr, mais de ce que j'ai compris jusqu'à présent, il semble comme un assez mort idée (corrigez-moi si je me trompe) mais il est inclus dans le matériel de cours (peut-être pour des raisons historiques?)
OriginalL'auteur sixtyfootersdude | 2010-07-25
Vous devez vous connecter pour publier un commentaire.
Je vais travailler dans un hypothétique langage de programmation. Imaginons que nous avons une fonction
p(x)
qui affiche x et puis la retourne. Maintenant, nous allons définir une fonction:Maintenant, nous allons l'appeler avec quelques arguments:
x
ety
vont être substitués pour les paramètres, de sorte que l'appel àfoo
ci-dessus est le résultat de:De sorte que nous allons pour imprimer 456 à l'écran et retourner 457. Dans une autre stratégie d'évaluation, nous permettrait d'évaluer les paramètres de la fonction première (impression 123 456 à l'écran dans le processus) puis de remplacer 456 pour
y
dans le corps de la fonction, et est finalement rentré 457.C'est tiré par les cheveux, mais j'espère que vous obtenez l'idée. Il est tout au sujet de la substitution.
cette phrase fait mon cerveau blessé. Soins de re-état?
Assurez-vous. Disons que vous avez de ce (Appel par nom):
int x = 0; foo(t(x)); print(x);
si c'était aussi", appel par valeur" ce serait d'imprimer 0. Si c'était aussi", appel par la référence" imprimer quelque chose d'autre.Gian! De revenir et de lui répondre!
Je suis encore assez certain que je ne comprends pas la question. Dans un appel-par-scénario de référence, il est toujours possible que la valeur référencé peut être modifié, de sorte que les attendus de la sémantique du nom de passage de ne pas assez tenir à l'examen. Autre que cela, je ne suis toujours pas sûr de ce qui est demandé.
OriginalL'auteur Gian
http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_name
En appel par valeur, vous évaluer des arguments, de l'extraction des valeurs qui sont ensuite transmis à la fonction.
foo(bar())
est évaluée commearg = bar();
, puis foo(arg) est appelée, et dans le corps de la fonction, ce nouvellement allouée arg variable est accessible, modifiable, ...Dans l'appeler par son nom, vous remplace dans le corps de la fonction, toutes les références à des arguments par leur code utilisé lors de l'appel. Ensuite, l'évaluation de l'organisme, vous permettra d'évaluer les arguments.
foo(bar())
avecfoo(arg) { return arg; }
sera évalué commefoo(arg) { return bar(); }
OriginalL'auteur Scharron
Appeler par leur nom travail comme appel par référence lorsque le paramètre effectif être scaler, mais être différent lorsque le paramètre effectif est expression ou d'une matrice puis paramètre effectif est réévalué à chaque accès.
ici est simple exemple
OriginalL'auteur Abdo