「D言語/関数」の版間の差分

削除された内容 追加された内容
Angol Mois (トーク | 投稿記録)
スコープの説明に書き換え
Angol Mois (トーク | 投稿記録)
M 節分け
33 行
=== 関数の定義・呼び出し方 ===
<!-- to be done -->
<!-- === 戻り値の自動化 ===
関数の戻り値を決めるとき、auto キーワードでD言語コンパイラが自動的に型を設定してくれます。
 
<syntaxhighlight lang="D">
auto foo()
return 5;
</syntaxhighlight>
 
たとえば上記コードなら、「5」は整数なので、整数は int 型なので、戻り値にも自動的に int 型が設定されます。
 
 
;コード例
<syntaxhighlight lang="D">
import std.stdio;
 
auto foo()
return 5;
 
void main(){
writeln( foo() + 4);
</syntaxhighlight>
 
;実行結果
9 -->
 
== スコープ ==
220 ⟶ 250行目:
 
 
=== セキュリティ・レベル ===
C言語に無い特徴として、D言語の「関数」にはセキュリティ・レベルの設定があります。
 
312 ⟶ 342行目:
:※ エラーになる。
 
=== 戻り値の自動化 ===
関数の戻り値を決めるとき、auto キーワードでD言語コンパイラが自動的に型を設定してくれます。
 
<syntaxhighlight lang="D">
auto foo()
return 5;
</syntaxhighlight>
 
たとえば上記コードなら、「5」は整数なので、整数は int 型なので、戻り値にも自動的に int 型が設定されます。
 
 
;コード例
<syntaxhighlight lang="D">
import std.stdio;
 
auto foo()
return 5;
 
void main(){
writeln( foo() + 4);
</syntaxhighlight>
 
;実行結果
9
 
=== 契約プログラミング ===
==== 基本 ====
関数を定義する際、入力値の要求事項と、出力値の要求事項とを記述する事ができる。また、自身が記述したアルゴリズムがバグがなく動作した場合に成り立つべき事項を確かめることができる。この仕組みを「契約」と言う。