Tôi mới là Haskell (và lập trình chức năng nói chung) và đã tự hỏi làm thế nào tôi có thể truy cập vào phần tử mới mà tôi đã thêm vào danh sách bằng toán tử cons (:)?Làm cách nào để truy cập phần tử danh sách mà tôi đã thêm với toán tử cons (:)?
Ví dụ, sử dụng WinGHCi tôi có thể tạo một danh sách mới và truy cập vào các yếu tố đầu tiên:
ghci> let a = [1,2,3]
ghci> a!!0
1
Lợi nhuận nhắc 1, giá trị của phần tử đầu tiên, mát mẻ. Bây giờ tôi thêm một giá trị mới vào phía trước của danh sách và cố gắng truy cập vào nó:
ghci> 5:a
[5,1,2,3]
ghci> a!!0
1
Dường như danh sách các mục không được tái lập chỉ mục. Tôi đã cố gắng nhận được một chỉ số tiêu cực để làm việc và những thứ khác như vậy nhưng trình biên dịch dường như không chấp nhận. Các hướng dẫn tôi đang đọc chỉ cần bỏ qua nó và tôi không thể tìm thấy bất cứ điều gì sử dụng trực tuyến. Làm cách nào để nhận giá trị "5" từ danh sách?
Cảm ơn sự giúp đỡ và xin lỗi nếu đây là câu hỏi rất cơ bản.
Để minh họa điểm Marcin, hãy nhập 'a' tại GHCI và bạn sẽ thấy [1,2,3], vì bạn không thể sửa đổi biến trong Haskell. Để làm rõ mọi thứ, hãy xem xét [các định nghĩa này về biến và có thể gán] (http: //existentialtype.wordpress.com/2012/02/01/words-matter /): Haskell có 'biến' theo nghĩa toán học, nhưng không phải là 'các phép gán' như trong các ngôn ngữ bắt buộc. –
a vẫn còn [1,2,3] sau 5: a.Thera không có tác dụng phụ như đột biến trong lập trình chức năng – nist
Ya Tôi nhận được nó ngay bây giờ, nó chỉ là một suy nghĩ hoàn toàn khác ... haha. Cảm ơn mọi người! – Awesominator