Results

Gleam doesn't use exceptions, instead computations that can either succeed or fail return a value of the built-in Result(value, error) type. It has two variants:

Gleam は例外を使用しません。その代わり、成功するか失敗するかのどちらかである計算は、組み込みの Result(value, error) 型の値を返します。これには 2 つの型があります。

The type is generic with two type parameters, one for the success value and one for the error. With these the result can hold any type for success and failure.

この型は 2 つの型パラメータを持つ汎用的なもので、1 つは成功値用、もう 1 つはエラー用です。この 2 つの型パラメータで、成功時と失敗時の結果を保持することができます。

Commonly Gleam programs and library will define custom types with a variant for each possible problem that can arise, along with any error information that would be useful to the programmer.

一般的な Gleam プログラムやライブラリは、プログラマにとって有用なエラー情報とともに、起こりうる問題ごとにバリアントを持つカスタムタイプを定義します。

This is advantageous over exceptions as you can immediately see what if any errors a function can return, and the compiler will ensure they are handled. No nasty surprises with unexpected exceptions!

これは、関数が返す可能性のあるエラーを即座に確認でき、コンパイラがそのエラーを確実に処理するため、例外処理よりも有利です。予期せぬ例外に驚かされることもありません!

A result value can be handled by pattern matching with a case expression, but given how frequently results are returned this can become unwieldy. Gleam code commonly uses the gleam/result standard library module and use expressions when working with results, both of which will be covered in later chapters.

結果値は、case 式によるパターンマッチングで扱うこともできますが、結果が返される頻度を考えると扱いにくくなります。Gleam のコードでは、結果を扱う際に gleam/result 標準ライブラリモジュールと use 式を使うのが一般的です。