问题标签 [fsi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
f# - F# 命令行 (fsi) 无法识别函数,编译错误,为什么?
我在命令行下尝试了 F#,它无法识别函数定义
问题:我的程序有什么错误吗?我将 f 的定义和用法复制并粘贴到 Visual Studio 的 F# 项目中,它运行正常。
但是为什么命令行会失败?
sqlite - 在 F# 中释放 SQLite 资源
考虑以下 F# 脚本,该脚本创建一个简单的 SQLite 数据库和表,然后应将其删除。但是,SQLite 对象似乎没有被正确处理,并且没有释放它对文件的锁定。
我在 F# 方面很差,但我的理解use
是对象的资源会在超出范围时被处理掉,但在这种情况下似乎并非如此。我也试过打电话Dispose()
也无济于事。
谁能阐明我如何在 F# 中正确处理 SQLite 对象?
f# - Can I get the inferred type of a value, without the contents, in F# Interactive?
When a value is created in the F# Interactive console the inferred type and contents of the value are displayed.
How can I, at a later date, redisplay the inferred type without showing all the contents?
For example, I have an array, mydata
of 1000 items. Typing mydata
into the F# Interactive console will display the type, but also the contents of the array.
f# - 是否可以使用 FSI 库跟踪 F# 脚本中的当前行
我们正在使用 FSharp 编译器服务 FSI 评估会话来执行 DSL。准确地说,我们使用 F# 代码来模拟 CNC 机器的 G 代码。随着 FSI 脚本的每一行将机器移动到不同的位置,我们的用户希望看到正在执行的脚本的当前行与机器的位置同步。
是否可以从 FSI 评估会话中获取回调,指示当前正在执行的行?
f# - FSharp Interactive 中的“命名空间 FSI_00XX”是什么意思?
每次我在 Visual Studio 2015 的 FSharp Interactive 中加载 FSX 脚本文件(或任何其他文件)时,它都会打印一条消息:
FSX 是否为空、是否包含一种或多种类型或模块都无关紧要。结果始终是加载消息(足够清晰),然后是namespace FSI_00XX
消息,其中 XX 是增量数字。即,如果我再次运行上述命令(无论是否更改文件),它都会显示:
它看起来像一个错误,但显然不是。我的猜测是,它是一个隐式命名空间,当前的命名空间会被设置为最新的。这是否也意味着我可以使用以前的命名空间引用以前的版本?
或者,如果不是这样,它代表什么?
注意:如果我使用代码片段的“发送到交互式”,则不会出现此消息。
dll - Visual Studio 2015 中的 F# 交互可能会忽略 DLL 包含路径
我有一个 DLL 加载指令列表,如下所示:
请注意,该列表引用了 Newtonsoft.Json.dll(版本 7.0.1)。但是,当我在 FSI 中执行使用引用 DLL 的代码时,Visual Studio 会从不同的位置加载 Newtonsoft.Json,如其日志所示:
绑定会话到 'C:\Projects\Samples\fsharpreactivepatterns\packages\Akka\lib\net45\Akka.dll'... 绑定会话到 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Blend\Newtonsoft. Json.dll'...
Newtonsoft.Json.dll 甚至不指向 Visual Studio 2015 文件夹之一,它引用了也安装在我的机器上的 Visual Studio 2013 中的 DLL。
这是我到目前为止找到的解决方法:
现在 FSI 加载并使用正确的 Newtonsoft.Json 版本。
有没有更好的方法来确保 FSI 使用 #r 指令中指定的 DLL 路径?
module - F# 命名空间和模块:来自 Wikibooks 的精彩合集
我正在尝试在 Wikibooks https://en.wikibooks.org/wiki/F_Sharp_Programming/Advanced_Data_Structures上使用库 AwesomeCollections
从那个页面,我复制粘贴到 2 个单独的文件中,代码标记为 .fsi 和 .fs
我必须承认我不太了解 .fsi 和 .fs 文件如何交互,并且在https://msdn.microsoft.com/en-us/library/dd233196.aspx上找到的解释对我来说很神秘。
通过一些重新格式化,如果我提出解决方案并仅使用 .fs 文件,它就可以正常工作。
但是,同时使用 .fsi 和 .fs 文件时,我收到错误消息,例如“未定义命名空间 'Heap'”(在项目的主 .fs 文件中)“没有可用于类型 'int BinaryHeap 的构造函数'"(在项目的主 .fs 文件中)
“实现文件中出现意外的关键字 'type'”(尝试在 .fs 文件中定义类型 Queue 时)
AwesomeCollections.fs
maintenance.fs(尝试使用这些库的主程序)
最后,如果在解决方案中,我决定单独使用以下文件 AwesomeCollections_bis.fs(无 fsi 文件),代码将编译正常。
我可以看到缩进很重要,我认为使用它可以解决问题,但它不适合我。
感谢任何慷慨帮助的人!
f# - F# Interactive 中的 Xamarin.Forms
通过引用默认的 WPF DLL,使用纯代码 WPF 可以很容易地做任何事情:
...您可以在窗口仍打开时对其进行操作...
...然后单击按钮以查看它的工作原理。这似乎是构建 UI 组件的一种非常强大的方法。
有没有办法用 Xamarin.Forms 做同样的事情?
visual-studio-code - 如何将 VS Code 输出窗口显示到一侧而不是下方
在我的 VS Code 设置中,我看到主文本编辑器窗格下方的输出/FSI 框架如下所示:
而我希望它出现在并排视图中的右侧,就像它在此链接中的图像上一样:http: //www.wintellect.com/devcenter/jwood/a-quick-look-at- f-in-visual-studio-code
有没有我在某处找不到的配置选项?
我尝试了谷歌搜索,但画了一个空白,在描述配置选项的 vs 代码站点页面上提到的配置选项中看不到任何明显的东西