[Haskell-cafe] Lists of Lists
Thomas Davie
tom.davie at gmail.com
Wed Mar 8 09:28:45 EST 2006
On 8 Mar 2006, at 14:21, zell_ffhut wrote:
>
> Thank you, It's working as planed now
>
> Trying to do a function now that changes the value of an element of
> the
> list. In programming languages i've used in the past, this would be
> done
> somthing like -
>
>> changeValue x i [xs] = [xs] !! i = x
>
> where x is the value to change to, i is the index of the value to
> change,
> and [xs] is the list.
>
> This however, dosen't work in Haskell. How would this be done in
> Haskell?
Put simply it isn't.
One of the percepts of a functional language is that variables are
bound, not set - once a variable has a value it has that value
forever. What you want to do is return a new list, that looks like
the old one, but has one value changed
changeValue x 0 (y:ys) = (x:ys)
changeValue x n (y:ys) = y:(changeValue x (n-1) ys)
Bob
More information about the Haskell-Cafe
mailing list