繁体   English   中英

如何在交互式窗口中使用af#函数?

[英]How can i use a f# function in the interactive window?

如何在交互式窗口中执行F#函数?

如果我创建一个.fsx文件并键入以下代码:

open System

let parseTitle (line : string) =
    let startIndex = line.LastIndexOf('(')+1
    let endIndex = line.LastIndexOf(')')
    line.Substring(startIndex,endIndex-startIndex-1)

let testTitle = "The Possessed (The Devils) (Fyodor Dostoyevsky)"

parseTitle testTitle

然后全部选中,然后按Alt + Enter。 什么都没发生。 当我将光标置于最后一行并按Alt + Enter时,出现以下错误:

error FS0039: The value or constructor 'parseTitle' is not defined

我究竟做错了什么?

要使用给定文件中的代码,只需突出显示它,右键单击,然后选择“发送到交互式”。 这会将整个选择发送到交互式窗口,而不是一行。 谜题的答案不正确,因为您无需修改​​文件即可将代码段发送到交互式窗口。 他指的是:如果在交互式窗口中手动键入一些代码,则需要以双分号;;结尾。

您需要输入;; 在每行(或块)的末尾执行代码。

open System;;

let parseTitle (line : string) =
    let startIndex = line.LastIndexOf('(')+1
    let endIndex = line.LastIndexOf(')')
    line.Substring(startIndex,endIndex-startIndex-1);;

let testTitle = "The Possessed (The Devils) (Fyodor Dostoyevsky)";;

parseTitle testTitle;;

然后我得到:

> 
val parseTitle : string -> string

> 
val testTitle : string = "The Possessed (The Devils) (Fyodor Dostoyevsky)"

>
val it : string = "Fyodor Dostoyevsk"
> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM