9

私は C# で次のようなコードを書くことに慣れています。

SomeObj obj;
try{
    // this may throw SomeException
    obj = GetSomeObj();
}catch(SomeException){
    // Log error...
    obj = GetSomeDefaultValue();
}

obj.DoSomething();

これは、F# で翻訳した方法です (obj はリストです)。

let mutable obj = []
try
    obj <- getSomeObj
with
    | ex ->
        // Log ex
        obj <- getSomeDefaultValue

doSomething obj

可変変数を使用せずに F# でこれを行う方法はありますか? F# でこの状況を処理するためのより「エレガントな」方法はありますか?

ありがとうございました!

4

2 に答える 2