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.
@trashy_incel thank you for that. I have a copy of that site stashed in /home/ and it looks like I didn't visit that page yet. Of course I should consume it more diligently. But it seems to indicate that the specific thing I refer to (and I thought also Mysliwy when saying: "element {func2, func1} (not sure how to name this element, any idea?)") is exactly one part of a compound literal expression, called... an initializer list.
I guess you would still say I'm being insufficiently precise when I said "making the list into a nameless array" while the nameless array is really only being initialized with it.
this is called a compound literal
an initializer list on the other hand is the
{1, 2, 3}
inint array[] = {1, 2, 3}
Really interesting solution.
Can someone confirm that I'm understanding it correctly or deny it and explain why?
(void(*[])()){func2, func1}
- this looks like a casting element{func2, func1}
(not sure how to name this element, any idea?) to array of pointers to functions returning type void.[value]()
- this is simply calling function which pointer is at indexvalue
of the array of pointers to functions, to which we casted{func2, func1}
I wanted to ask why it's redundant, because I thought that you are part of the class so your_score affects average score (which is true).
But when I was writing this comment I realized that although your score affects average it won't affect the overall answer for the question: "Is your_score higher then average in this class?".
The reason for this is that if including your_score in the average calculations increases average then your score was already higher then average so result won't change. The same happens if your score decreases average.
Maybe someone will find this explanation usefull so I'm leaving it here.
I had to comment on this as it's an incredibly inefficient solution for one simple reason.
You are calling strlen(walk) twice inside the loop and when you call strlen(walk) you are basically iterating over whole string.
One small change is required to change time complecity of this algorithm from O(2n^2) to O(2n):
Aside from that there is completely no reason to call 'if (strlen(walk) != 10) return false;' inside the loop. Just move it before the loop.