2016-04-01 19 views

答えて

3

あなたはで明示的に型引数を提供することができますhttps://github.com/ceylon/ceylon/issues/6121 - あなたが受信したエラーメッセージを改善するための未解決の問題があることが

shared Try<MappingResult> map<MappingResult>(MappingResult(Result) mappingFunction) { 
    if (is Result computationResult) { 
     try { 
      MappingResult mappingResult = mappingFunction(computationResult); 

      return Try<MappingResult>.fromResult(mappingResult); 
     } catch (Exception e) { 
      return Try<MappingResult>.fromResult(e); 
     } 
    } else { 
     return Try<MappingResult>.fromResult(computationResult); 
    } 
} 

注:のように。

+0

私はTry を返すことを望んでいません。別のマップにチェーンしたい場合、マッピング関数はMappingResult(Result | Exception)でなければならないので、議論を絞り込むためにフロータイピングを使用する。 – ElderMael

+0

もちろん、ああ、そうです。私は私の答えを更新します。 –

関連する問題