簡體   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