WEB开发网
开发学院WEB开发ASP.NET F#初学笔记01 阅读

F#初学笔记01

 2012-06-13 13:29:10 来源:WEB开发网   
核心提示: let changeType () = let x = 1 // bind x to an integer let x = "change me" // rebind x to a string let x = x + 1 // attempt to rebind to itself plu
 
let changeType () =
   let x = 1 // bind x to an integer
   let x = "change me" // rebind x to a string
   let x = x + 1 // attempt to rebind to itself plus an integer
   printfn "%s" x
changeType ()
0032fd294d064930835ad27472d0ec95
 
在函数中的标识符和最外层才标识符是些不同的。函数定义中的标识符可以重复绑定值,这样你就不需要为创造新的标识符名而头痛。最外层的标识符是不能够重复绑定的,只可以定义一次。
let x=5
let x=x+3
printfn "%i" x
056daa2774f5408cb54470ee068849ab
 
 
使用use
use和let相似,可以指定标识符的值。但是不同点在于使用use的话,一旦代码运行到作用域之外,该标识符会自动处理dispose。这对于某些操作,比如网络套接字,文件读写,数据库连接等很有必要。在.NET中,这种对象都实现了IDisposable接口,这个use类似c#中的using语句,主要的作用是释放资源。
open System.IO 
// function to read first line from a file 
let readFirstLine filename = 
// open file using a "use" binding 
  use file = File.OpenText filename 
   file.ReadLine() 
// call function and print the result 
printfn "First line was: %s" (readFirstLine "mytext.txt")
 
任何只要实现了IDisposable接口的对象都可以使用use绑定。
use只能在函数内部使用,不能在最外层使用,因为,最外层的标识符作用域是全局的,不会失去活性,因此得不到释放。

上一页  1 2 3 

Tags:初学 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接