Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
It's passing a
List
, just as the description ofconcat
requires, and expecting aList
. The actual testing is done on anArray
.If you are unsure, it might help to
console.log
the input.It's the 6-th test on 'concat' suite in final tests. List.repeat([1,2,3]).concat().take(4) Expected: [1, 2, 3, 1] This error and the description of concat method - "list must be a list of lists" made me think that repeat on arrays should return list of lists otherwise List.repeat([1,2,3]).concat() should throw an error.
I can't find the exact reference ( there are a lot of tests .. ), but it's only a test header ( I think ). You should be able to take the description at its word, so when
List.repeat
is passed aList
, you have to repeat thatList
, and not some array. If it were passed anArray
, you'd have to repeat that. This may be somewhat complicated by the fact I can't directly test onList
s, so I have to convert them back toArray
s for testing.If you have questions about specific tests, please tell me where to find that test.
Oh, thanks, I got it. My List has passed all sample tests but I am still struggling with infinite lists in the main tests. If you don't mind I have question about repeat function.
From the description "List.repeat(x) => an infinite list, every element of which is x" it was not abvious (for me) that List.repeat([1,2,3]) create a list of lists and not list of arrays. Should we treat every array as list ?
That is the expected behaviour ( the error message could have been clearer ). Why are you evaluating the fold function over an empty list?
Note that you have mangled the test line by not quoting it as code. The full line is
Test.assertDeepEquals( List.empty.foldr( () => _|_ , Math.E ), Math.E );
but MarkDown uses_
as<i>
.If you want a clearer error message, change
_|_
to{ throw new Error("I must never be evaluated"); }
Hi, I have error message caused by test line Test.assertDeepEquals( List.empty.foldr( () => | , Math.E ), Math.E ); ReferenceError: _ is not defined