Je suis relativement nouveau à F # et je me débrouille avec des dossiers et des façons de les stocker/trier. Ce que j'ai maintenant est un ceci, qui fonctionne assez bien ... je pense. Maintenant, en voyant comment c'est une première langue fonctionnelle, je voulais essayer de faire une sorte de sélection de cette liste d'enregistrements que j'ai faits. Y a-t-il un moyen d'accéder aux éléments des documents pour pouvoir trier par âge? ou ce que je pense à ce sujet dans le mauvais sensDossiers F # et tri de la liste
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
Merci cela montre vraiment l'aspect fonctionnel du # F, mais d'après ce que je comprends ce que je pourrais aussi utiliser ce type de format pour une méthode de recherche? juste donné une entrée pour l'utilisateur? – bobEe
@bobEe: Votre question est un peu trop vague pour que je puisse comprendre. – ildjarn
Désolé, ce que je veux dire, c'est que je pourrais faire une fonction de recherche avec un nom qui itère penser la liste des enregistrements et renvoie vrai ou faux. Je pensais quelque chose comme ce que j'ai édité aboe – bobEe