-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requestimplementedサンプル実装済みサンプル実装済みrelease-noteリリースノートに反映済みリリースノートに反映済み
Description
式形式の関数
概要
関数の本文が一行の式に収まる場合に、以下のようにラムダ式のように波括弧やreturnを省略して関数を定義できるようにする。
number Pow(number x) => x * x;requiresやensuresなどとも併用できるようにする。
number Divide(number x, number y) requires(y != 0) ensures(return != 0) => x / y;動機
関数の中身が一つの式で済むときでも、ラムダ式ではなく関数宣言をした方が安全だが、書き方を省略するためにラムダ式を使われるケースがあった。また、REPLで関数を定義しやすくするため。
詳細設計
以下の構文をとる。実装はラムダ式に同じ。
TResult identifier(args) <requires> <ensures> => body-expression;
欠点
前例
未確定の設計
Discussion
- close 式形式の関数 #21
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestimplementedサンプル実装済みサンプル実装済みrelease-noteリリースノートに反映済みリリースノートに反映済み