2017-12-13 13 views
1

不完全な構造化された、あなたに私はまたはで」不完全な構造化された構築物中にエラーを取得していますは、私はF#の持つ新しい午前構造

module Certificate = 
     type T = { 
      Id: int 
      IsECert: bool 
      IsPrintCert: bool 
      CertifiedBy: string 
      Categories: Category.T list 
} 

let createPending now toZonedDateTime toBeCertifiedByName (job: Models.Job.T) (certificateType: Models.CertificateType.T) (pendingCertificate: Models.PendingCertificate.T) visualization (categories: Category.T list) = 
      let forCompletion = Models.PendingCertificate.getCertificateForCompletion pendingCertificate 
      { 
       Id = forCompletion.Id |> CertificateId.toInt 
       IsECert = Models.PendingCertificate.isECertificate pendingCertificate 
       IsPrintCert = Models.PendingCertificate.isPrintCertificate pendingCertificate 
       CertifiedBy = toBeCertifiedByName 
Categories = categories} 

ありがとう素晴らしいものです前のポイント "

+0

状況を理解するのに役立つように、コードスニペットで達成しようとしていることと完全なエラーの簡単な説明を追加できますか? –

答えて

2

フォーマットはすべてオフです。ここでは、これはStackOverflowへの投稿の結果であり、実際のコードは字下げされていると仮定します。

エラーは、createPendingの定義に由来します。この機能には結果がありません。すべての本体はforCompletionという値を定義していますが、後には何もありません。

let f x = 
    let y = 5 

この関数は同じ結果をもたないので、同じエラーが発生します。 F#では、すべての関数は何かを返す必要があります。本体には、ヘルパー関数または値の定義のみを含めることはできません。例えば、私はこのように上記の私の壊れた機能を修正することができます:

let f x = 
    let y = 5 
    x + y 

をこの関数は、第1のヘルパー値yを定義し、その引数xに追加し、その結果を返します。

> f 2 
> 7 
> 
> f 0 
> 5 

どのように正確に機能を修正する必要があるかは、正確に何を意味するかによって異なります。あなたがその情報を提供していないので、私はここでお手伝いできません。

関連する問題