刚刚发现使用F#可以将子字符串定义为切片:
let s = "the quick brown fox"
s.[4..8] // returns a string!
val it : string = "quick"
值得注意的是,切片表达式返回一个字符串,而不是字符集合。我认为F#核心中的字符串实现了GetSlice方法,该方法将返回一个字符串,但事实并非如此:
https://github.com/dotnet/fsharp/blob/main/src/fsharp/FSharp.Core/string.fs
我真的很想知道这里发生了什么?哪个函数被调用来进行切片操作?