0

このコードを手伝ってもらえますか.各タプルの最後の要素であるチューターを抽出し、それを使用してリスト全体をソートしたい.

import Data.List

type CourseData = [(String,String,String,String,String)]
l :: CourseData

--list contains name of student, year, programme and personal tutor
l = [("fondi","201202378","2012","Bsc280"," tautology"),
     ("fondi","201202378","2012","Bsc280"," tautology"),
     ("Sylvee","200801245","2008","Bsc209","puma"),
     ("dijeje","201307845","2013","Bsc205","tautology"),
     ("heron","201002567","2010","Bsc280","setlhako"),
     ("slow","201198746","2011","Bsc205"," mampu"),
     ("Sylvee","201198746","2008","bsc209"," puma"),
     ("Sylvee","201198746","2008","bsc209"," puma")]




sortByTutor :: CourseData ->String -> [String]
sortByTutor list  =sort[tutor|(name,id,year,prog,tutor)<-list ]

上記の方法を使用すると、チューターのソートされたリストのみが返されます。チューター名に従ってソートされたリスト全体を返すようにするには、何を変更できますか?

4

2 に答える 2

1

あなたはsortByから試すことができますData.List

sortBy (\(_,_,_,_,t1) (_,_,_,_,t) -> compare t1 t) l
于 2013-11-15T07:57:20.657 に答える