我對F#相當陌生,並且正忙於記錄和存儲/排序它們的方式。我現在擁有的就是這樣,它工作的很好......我想。現在看到這是一種功能性第一語言,我想嘗試一下我所做的記錄列表。有沒有辦法訪問記錄中的元素,以便我可以按年齡分類?還是我想這個錯誤的方式F#記錄和列表排序
module RecordTypes =
type Student =
{
Name : string
mutable age : int
mutable major : string
}
let studentOne = { Name = "bob" ; age = 20 ; major = "spanish" }
let studentTwo= { Name = "sally" ; age = 18 ; major = "english" }
let studentThree = { Name = "frank" ; age = 22 ; major = "history" }
let studentFour = { Name = "lisa" ; age = 19 ; major = "math" }
let studentFive = { Name = "john" ; age = 17 ; major = "philosophy" }
// studentFive.age <- studentFive.age + 2
let studentList = [studentOne; studentTwo; studentThree ;studentFour; studentFive]
studentList |> List.iter (fun s-> printf "Name: %s, Age: %d, Major: %s\n" s.Name s.age s.major)
let rec findStudent s =
match s with
| [] -> None
| x :: xs -> if studentList.Name then return true else findStudent xs
感謝這確實顯示了對F#的功能方面,但是從我的理解,我可以還使用這種格式的搜索方法呢?只是給用戶一些輸入? – bobEe
@bobEe:你的問題對我來說太模糊了。 – ildjarn
對不起,我的意思是說,我可以做一個搜索函數給定一個名稱迭代認爲記錄列表並返回true或false。我正在考慮像我編輯過的東西aboe – bobEe