Haskell'de iç içe geçmiş bir listeyi ters çevirmeye çalışıyorum.Haskell'de özel iç içe geçmiş bir listeyi tersine çevirme
data NestedList a = Elem a | SubList [NestedList a]
Ben de düzleştirilmiş fonksiyonu var:
flatten :: NestedList a -> [a]
flatten (Elem x) = [x]
flatten (SubList x) = concatMap flatten x
Şimdi benim ters işlevi yazmak isteyen ben iç içe listeleri yüzden tanýmladýysanýz Haskell bir şey değildir farkındayım. Fonksiyon şu şekilde tanımlanır: Listedeki öğeleri yeniden düzenlediğim için mantıklı olan hangisi mantıklı olduğunu düşündüğüm bir anlam ifade eder.
Temel bir ters fonksiyonun nasıl yazılacağını anlıyorum ve ayrıca Haskell'in standart listelerinin tersinin zaten tanımlandığını biliyorum.
Sorum şu: Listenin başlığının da bir liste olduğu durumla nasıl baş edebilirim? Bilmem gereken şey, listenin başını ters çevirip kuyruğun arkasına geri koymam. Ama bunu nasıl başarabilirim?
Teşekkürler. Bu şekilde denedim ve işe yaradı. – Coliwack