名前・呼びとは? わかりやすく解説

名前呼び

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/18 09:18 UTC 版)

Simula」の記事における「名前呼び」の解説

Simula は名前呼び(call by name評価戦略参照)をサポートしているため Jensen's Deviceen:Jensen's Device)を容易に実装できる。デフォルトALGOL異なり値呼びcall by value)であるため、Jensen's Device実装する際には、名前呼びであることを明示する必要がある単純な例として総和関数 ∑ {\displaystyle \sum } の実装例を以下に示す。 Real Procedure Sigma (l, m, n, u) ; Name l, u ; Integer l, m, n ; Real u ; Begin Real s ; l:= m ; While l <= n Do Begin s := s + u ; l := l + 1 ; End ; Sigma := s ; End ; 上記コードは値(l)と式(u)制御するために名前呼びを用いている。これにより式で使用する値を制御できるSimula標準規格for 文ある種制約があるため上記の例では while 文使用している。 以下の式は次のように実装できる。 Z = ∑ i = 1 100 1 ( i + a ) 2 {\displaystyle Z=\sum _{i=1}^{100}{1 \over (i+a)^{2}}} Z:= Sigma (i, 1, 100, 1 / (i + a) ** 2) ;

※この「名前呼び」の解説は、「Simula」の解説の一部です。
「名前呼び」を含む「Simula」の記事については、「Simula」の概要を参照ください。


名前呼び

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/03 01:23 UTC 版)

評価戦略」の記事における「名前呼び」の解説

名前呼び(call by name名前渡し: pass by name)では、関数の引数は全く評価されず、捕獲回避置換(Capture-Avoiding Substitution)を使って関数本体内に直接置換される引数がその関数評価使われていない場合、その引数は全く評価されない引数複数使われている場合その度再評価される。 値呼びはその引数が全く使われていなくとも必ず評価するため、名前呼びの方が好ましいとする考え方もある。しかし、引数使われている場合は名前呼びの方が性能が悪いという批判もある。 名前呼びはそのまま実装されることは滅多に無い。実際の言語では、名前呼びの意味論は次の必要呼び評価実装となっていることが多い。ALGOL 60 ではデフォルト評価戦略が名前呼びである。 副作用のある言語における名前呼びには微妙なところがあり、Jensen's Device のような例が知られている。

※この「名前呼び」の解説は、「評価戦略」の解説の一部です。
「名前呼び」を含む「評価戦略」の記事については、「評価戦略」の概要を参照ください。

ウィキペディア小見出し辞書の「名前・呼び」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「名前・呼び」の関連用語

名前・呼びのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



名前・呼びのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのSimula (改訂履歴)、評価戦略 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS