一つだけの機能ではなく、両方のCompiledName属性が必要な場合は、行うことができます:
[<CompiledName "SecondFunc">]
let rec secondFunc() =
firstFunc()
and firstFunc() =
secondFunc()
しかし、両方でそれが必要な場合は、解決策がまだ見つかりませんでした。
let rec firstFunc() =
secondFunc()
and [<CompiledName("SecondFunction")>]
secondFunc() =
firstFunc()
かさえ:
let rec firstFunc() =
secondFunc()
and
[<CompiledName("SecondFunction")>]
secondFunc() =
firstFunc()
唯一の要件あなたが別の行に自分の属性を見て好きなら
はピエールIrrmannの答えをフォローアップするために、あなたはまた、次の操作を行うことができsecondFunc()
宣言とその属性は、少なくとも1つのスペースをインデントしなければならないということです。したがって、これでも動作します:
let rec firstFunc() =
secondFunc()
and
[<CompiledName("SecondFunction")>]
secondFunc() =
firstFunc()
私は特に最後のオプションは、お勧めしません。私はそれを試して、それは動作しますが、それは醜いように見えます。このような場合には、「かわいい」を得て1つだけのスペースをインデントするよりも、インデントレベル全体(あなたが使っているものであれば、4つまたは2つのスペース)をインデントする方が良いでしょう。
ありがとうございます - ベサはちょうどツイッターで同じことを指摘しましたhttps://twitter.com/VesaKarvonen/status/770247570593574912 – mavnn
私は美しい他のフォーマットを好むので残念です。まぁ。それが人生だ。 – mavnn
これをフォーマットする別の方法については、私の答えを見てください(私はそれを編集しました)。ピエール・イルマンの答えにチェック・マークをつけておきますが、私は彼の答えがなければそれについて知りませんでした。彼はこの功績に対する功績に値する。 – rmunn