Dll F#有自己的字符串操作库吗?
F#有自己的字符串操作库吗? 当我试图学习F#时,我发现自己正在使用现有的System.string方法 我应该这样做吗 代码:Dll F#有自己的字符串操作库吗?,dll,f#,Dll,F#,F#有自己的字符串操作库吗? 当我试图学习F#时,我发现自己正在使用现有的System.string方法 我应该这样做吗 代码: open System type PhoneNumber = { CountryCode:int Number:string } // b. Create a function formatPhone that accepts a PhoneNumber record and formats it to look like something
open System
type PhoneNumber =
{ CountryCode:int
Number:string }
// b. Create a function formatPhone that accepts a PhoneNumber record and formats it to look like something like this: "+44 1234 456789"
let formatPhone phoneNumber =
let getLeadingCharacters (length:int) (text:string) =
text.Substring(0, length)
let getLastCharacters (length:int) (text:string) =
text.Substring(text.Length - length, length)
printf "+%i %s %s" phoneNumber.CountryCode
(phoneNumber.Number |> getLeadingCharacters 4)
(phoneNumber.Number |> getLastCharacters 6)
formatPhone { CountryCode=44; Number="123456789" };;
let formatPhone phoneNumber =
let getLeadingCharacters (length:int) (text:string) =
text.Substring(0, length)
let getLastCharacters (length:int) (text:string) =
text.Substring(text.Length - length, length)
printf "+%i %s %s" phoneNumber.CountryCode
(phoneNumber.Number |> getLeadingCharacters 4)
(phoneNumber.Number |> getLastCharacters 6)
formatPhone { CountryCode=44; Number="123456789" };;
let formatPhone phoneNumber =
printf "+%i %s %s" phoneNumber.CountryCode
phoneNumber.Number.[0..3]
phoneNumber.Number.[4..8]
formatPhone { CountryCode=44; Number="123456789" };;
更新
更新的函数来自:
open System
type PhoneNumber =
{ CountryCode:int
Number:string }
// b. Create a function formatPhone that accepts a PhoneNumber record and formats it to look like something like this: "+44 1234 456789"
let formatPhone phoneNumber =
let getLeadingCharacters (length:int) (text:string) =
text.Substring(0, length)
let getLastCharacters (length:int) (text:string) =
text.Substring(text.Length - length, length)
printf "+%i %s %s" phoneNumber.CountryCode
(phoneNumber.Number |> getLeadingCharacters 4)
(phoneNumber.Number |> getLastCharacters 6)
formatPhone { CountryCode=44; Number="123456789" };;
let formatPhone phoneNumber =
let getLeadingCharacters (length:int) (text:string) =
text.Substring(0, length)
let getLastCharacters (length:int) (text:string) =
text.Substring(text.Length - length, length)
printf "+%i %s %s" phoneNumber.CountryCode
(phoneNumber.Number |> getLeadingCharacters 4)
(phoneNumber.Number |> getLastCharacters 6)
formatPhone { CountryCode=44; Number="123456789" };;
let formatPhone phoneNumber =
printf "+%i %s %s" phoneNumber.CountryCode
phoneNumber.Number.[0..3]
phoneNumber.Number.[4..8]
formatPhone { CountryCode=44; Number="123456789" };;
至:
open System
type PhoneNumber =
{ CountryCode:int
Number:string }
// b. Create a function formatPhone that accepts a PhoneNumber record and formats it to look like something like this: "+44 1234 456789"
let formatPhone phoneNumber =
let getLeadingCharacters (length:int) (text:string) =
text.Substring(0, length)
let getLastCharacters (length:int) (text:string) =
text.Substring(text.Length - length, length)
printf "+%i %s %s" phoneNumber.CountryCode
(phoneNumber.Number |> getLeadingCharacters 4)
(phoneNumber.Number |> getLastCharacters 6)
formatPhone { CountryCode=44; Number="123456789" };;
let formatPhone phoneNumber =
let getLeadingCharacters (length:int) (text:string) =
text.Substring(0, length)
let getLastCharacters (length:int) (text:string) =
text.Substring(text.Length - length, length)
printf "+%i %s %s" phoneNumber.CountryCode
(phoneNumber.Number |> getLeadingCharacters 4)
(phoneNumber.Number |> getLastCharacters 6)
formatPhone { CountryCode=44; Number="123456789" };;
let formatPhone phoneNumber =
printf "+%i %s %s" phoneNumber.CountryCode
phoneNumber.Number.[0..3]
phoneNumber.Number.[4..8]
formatPhone { CountryCode=44; Number="123456789" };;
不,F#没有复制.NET库的特定文件。它确实有一个带有额外字符串函数的函数
是的,使用.NET函数
事实上,F#可以利用所有的.NET库,这是它最强大的功能之一。起初,将使用curried参数的函数与使用tuple参数的.NET函数混合使用似乎有些奇怪
这就是为什么在NuGet中您会看到同样具有FSharp扩展的包。e、 g.和。这些包装函数允许.NET库的惯用F#使用
在寻找与F#一起使用的函数和方法时,我经常使用这个技巧。
要搜索.NET,请使用class
作为关键字,要搜索F#特定代码,请使用module
作为关键字
例如:
谷歌:MSDN字符串类
第一项: 谷歌:
MSDN字符串模块
第一项:(现在是404),但它也是F#语言参考的有效链接。有点不对劲。视情况而定 如果您使用FAKE之类的开源库编写脚本, 您可以重用它的StringHelper模块
FAKE包含一个StringHelper模块您拥有丰富的知识。我怎么能听懂你的话?例如,YouTube、博客、播客等等……我通过跟踪和阅读这里的大多数新问题获得了大部分知识。我确实读了很多研究论文,写了很多很多代码。在过去的几个月里,我一直在学习神经网络的基础知识,并坚持解决问题,即使这些问题需要一周或更长的时间才能解决。我最近了解到,调试神经网络的最佳方法之一是使用视觉图像,而不是查看所有权重和偏差的值。我一直在创建类似
getLeadingCharacters
的小型反腐败函数。我觉得这是非常正常的。采用的术语是来自的反腐败层。虽然是的,但在本例中,您最有可能使用提供的字符串方法,但我会使用范围(现在可以很好地处理字符串)-例如“Hello curel World”。[6..10]
将为您提供“残酷的”
;)很高兴知道。谢谢Carsten,我更新了我发布的示例。这不只是作为答案发布的评论吗?