Как получить доступ к элементу списка, который я добавил с помощью оператора cons (:)?

Я новичок в Haskell (и функциональном программировании в целом) и хотел бы узнать, как я могу получить доступ к новому элементу, который я добавил в список, используя cons (:) оператор?

Например, используя WinGHCi я создаю новый список и обращаюсь к первому элементу:

ghci> let a = [1,2,3]
ghci> a!!0
1

Подсказка возвращает 1, значение первого элемента, круто. Теперь я добавляю новое значение в начало списка и пытаюсь получить к нему доступ:

ghci> 5:a
[5,1,2,3]
ghci> a!!0
1

Похоже, что элементы списка не переиндексируются. Я пытался заставить работать отрицательный индекс и другие подобные вещи, но компилятор, похоже, этого не одобрил. Учебники, которые я читаю, просто пропускают это, и я не смог найти ничего полезного в Интернете. Как мне получить значение "5" из списка?

Спасибо за помощь и извините, если это очень простой вопрос.

7
задан Awesominator 28 February 2012 в 17:33
поделиться