我进入Unity,想知道我是否可以使用F#而不是C#,因为我更喜欢语法。我猜不是,因为它运行的环境非常不同,但也许有些东西会交叉编译代码或其他我不想的东西。
答案 0 :(得分:25)
我无法提供帮助,但却会产生这样的印象:其他答案是由那些不太了解他们所说的人写的。
这是在Unity项目中使用F#所需要做的事情:
目前,您需要启用.NET-version 4.5的(实验性)支持。或者,您可以下载支持.NET 3.5的旧版FSharp.Core.dll。 (见here)。
由于与FSharp.Core.dll的兼容性问题,我无法保证您不会遇到麻烦,但这只是猜测,因为我还没有测试过它自己。
答案 1 :(得分:2)
通过遵循这个Github项目,我有一次成功做到这一点:https://github.com/eriksvedang/FSharp-Unity,我认为这与Lars Kokemohr上面的答案大致相同。我还没有在最新版本的Unity / Mono中测试它。
答案 2 :(得分:0)
是的,您可以统一使用F#和C#作为一流语言。
怎么样 ? ans
一个想要团结使用F#的人的优秀博客
如果您想使用F#作为我推荐的第二类。
让我展示如何做。
每次构建后如何自动执行? ans
已经说过,我建议不要与F#.bcs统一做任何严肃的工作,否则您将无法交叉编译到其他平台。 unity使用IL2cpp,但不适用于F#。 用简单的话来说,团结不支持F#,如果您遇到Il2cpp中的bug之类的问题,团结将无法修复bcs,因为他们不支持F#
如果您认为这是错误的提示,请注意说明原因
答案 3 :(得分:-1)
没有简单的方法可以做到这一点,但如果你真的想要实现它,我相信你可以使用像fs2cs这样的东西:
https://github.com/hsharpsoftware/fs2cs
理论上,您可以编写一个脚本,在所有Unity C#文件上调用fs2cs。将它与Unity本身集成将是更具挑战性的部分,但理论上,您可以在保存文件时触发fs2cs转换,Unity可以使用已转换的C#文件。
答案 4 :(得分:-1)
官方支持只有Boo,C#和UnityScript!