F#学习第一天

let emptyList = []
let oneItem = "one" ::[]
let twoItem = "one" :: "two" ::[]

let shortHand = ["apples" ; "orange"]

let twoLists = twoItem @ shortHand

let objList = [box 1 ; box 2.0 ; box "three"]

for x in objList do
    printf "%A," x


let listOfList = [[1;2;3];[4;5;6];[7;8;9;10]]
let rec concatList list =
    if List.isEmpty list then
        []
    else
        let head = List.head list in
        let tail = List.tail list in
        head @ (concatList tail)

let resultList = concatList listOfList

printf "%A" resultList

for item in resultList do
    printfn "%A" item

let (++!@) a b = a + b

let rec Fib num =
    match num with
    | 1 -> 1
    | 2 -> 1
    | num -> Fib (num - 1)  ++!@  Fib (num - 2)

let resultFib = Fib 10

printfn "%i" resultFib


let test1= (function x -> function y -> x+y) 2 3
printfn "%i" test1

let emptyList = []
let oneItem = "one" ::[]
let twoItem = "one" :: "two" ::[]

let shortHand = ["apples" ; "orange"]

let twoLists = twoItem @ shortHand

let objList = [box 1 ; box 2.0 ; box "three"]

for x in objList do
    printf "%A," x


let listOfList = [[1;2;3];[4;5;6];[7;8;9;10]]
let rec concatList list =
    if List.isEmpty list then
        []
    else
        let head = List.head list in
        let tail = List.tail list in
        head @ (concatList tail)

let resultList = concatList listOfList

printf "%A" resultList

for item in resultList do
    printfn "%A" item

let (++!@) a b = a + b

let rec Fib num =
    match num with
    | 1 -> 1
    | 2 -> 1
    | num -> Fib (num - 1)  ++!@  Fib (num - 2)

let resultFib = Fib 10

printfn "%i" resultFib


let test1= (function x -> function y -> x+y) 2 3
printfn "%i" test1

posted @   飞林沙  阅读(459)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示