List 在F#中打印已创建对象的列表时遇到问题。这就是我到目前为止所拥有的。?

List 在F#中打印已创建对象的列表时遇到问题。这就是我到目前为止所拥有的。?,list,object,f#,List,Object,F#,这将是正确的代码: module Classes = type Student(name : string, age : int) = member this.Name = name member this.Age = age /// An instances of the students class let student1 = Student("bob", 20) let student2 = Student("sally

这将是正确的代码:

module Classes =

    type Student(name : string, age : int) =
        member this.Name = name
        member this.Age = age

    /// An instances of the students class
    let student1 = Student("bob", 20)
    let student2 = Student("sally",18)
    let student3 = Student("frank",22)
    let student4 = Student("lisa",19)
    let student5 = Student("john",17)


    printfn "student 1: %s, age: %d" student1.Name student1.Age
    printfn "student 2: %s, age: %d" student2.Name student2.Age
    printfn "student 3: %s, age: %d" student3.Name student3.Age
    printfn "student 4: %s, age: %d" student4.Name student4.Age
    printfn "student 5: %s, age: %d" student5.Name student5.Age



    let studentList =  [student1; student2; student3; student4; student5]  

  //  studentList |> List.iter (printf "%s , %d")
    printfn "%O" studentList
    printfn "%A" studentList
    studentList |> List.iter (printf "%s" Student)
或者这个:

studentList |> List.iter (fun s -> printf "Name: %s, Age: %s" s.Name s.Age)
我真的想不起从哪里开始解释你原来版本的错误。。。首先,为什么要在最后一行将
Student
作为第二个参数传递给
printf
?你甚至没有在任何地方定义它,所以它有点令人费解。其次,我不会将类用于这种模型,记录更适合


我真的,真的鼓励你在开始一个项目之前获得一些关于F#的理论知识。我可以衷心推荐的一个资源是。

谢谢您的投入。我对F#真的是个新手,我只是想利用我在java方面的一些知识来理解它。如果你以前的经验仅限于Java,那么你肯定需要一个速成班来理解这篇文章。F#在一些非常基本的方面与Java非常不同。同时,如果我的回答帮助了你,你会考虑接受吗?你的问题是什么?
studentList |> List.iter (printf "%A")