F#初学笔记01
2012-06-13 13:29:10 来源:WEB开发网核心提示: F#标识符常量(Literal)值和函数标识符的作用域使用useF#标识符F#标识符就是给值命名,使用let关键字和一个等号,F#初学笔记01,再跟一个表达式,表达式是任何代码,注意,就像在命令行语言中那样,可以返回一个值,入下面的给标识符赋值
F#标识符
常量(Literal)
值和函数
标识符的作用域
使用use
F#标识符
F#标识符就是给值命名。使用let关键字和一个等号,再跟一个表达式。表达式是任何代码,可以返回一个值。入下面的给标识符赋值。
let x = 42
很程序员,一眼看到这个代码就觉得这个是变量赋值嘛,这虽相似,但是却不同。在纯粹的函数式编程中,一旦值赋给标识符,就不再改变。这就是为什么称作标示符而不是变量的原因。(在某些场合下,这个标识符的值也是可以改变的。)
F#字符常量可以包含换行符,正则表达式常量可以包含标准转义符。可以加上合适的前缀和后缀,用16进制或者8进制方式定义整型。可以看一下面的代码,(注意,缩进是必须的,后面会讲到)。%A表示一种格式模式。
#light
let message = "Hello
World\r\n\t!"
let dir = @"c:\projects"
let bytes = "bytesbytesbytes"B
let xA = 0xFFy
let xB = 0o7777un
let xC = 0b10010UL
let print x = printfn "%A" x
let main() =
print message;
print dir;
print bytes;
print xA;
print xB;
print xC
main()
let message = "Hello
World\r\n\t!"
let dir = @"c:\projects"
let bytes = "bytesbytesbytes"B
let xA = 0xFFy
let xB = 0o7777un
let xC = 0b10010UL
let print x = printfn "%A" x
let main() =
print message;
print dir;
print bytes;
print xA;
print xB;
print xC
main()
运行结果如下:
值和函数
F#中,值和函数是不区分的,因为函数就是值,F#语法处理起来都很相似。比如下面的代码。第一行,10赋给了标识符n。第二行,函数add,定义为把2个参数相加。两种的语法很相似,不同点就是函数名字后面有参数。表达式a+b也是add函数的值。注意,就像在命令行语言中那样,函数不需要显式的返回值。
#light
let n = 10
let add a b = a + b
let addFour = add 4
let result = addFour n
printfn "result = %i" result
更多精彩
赞助商链接