Broken test suite? The handle wont work in some cases
Yes, it seems that test suit is wrong. cases 13 e 14 won't work.
For instance from case 13:
A=false; X=@(x)rem(x,2); str='F(''F(''''X(3)'''')'')';
f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X');
F=@(str)xor(~A,f0(eval(str),A,X));
if I execute F(str) inside my function AnswerGenerator it complains...
Error using eval
Unrecognized function or variable 'F'.
It seems the syntax is wrong. So we cannot know what the answer would be from the knight or the knave (I'm trying to fix the string input).
So I was able to fix the strings (str) manually using replace. Previous solutions won't work, so I guess the test cases were changed and broken. Please ignore my solution if this is fixed later on (it's only right for now, fixing it and evaluating it manually is a pain). I will resubmit a proper solution when it is fixed and I see it fixed.
Problematic test cases have been commented out. Hopefully, @Alfonso will get around to fixing this.
thanks for the heads up and temporal fix. I am still looking into this, it seems that the issue was probably a change in memory-management affecting function handles in some of the more recent Matlab releases, and I should probably just change the way I implement the Knight/Knave answer function to explicitly allow self-references...
Which values occur exactly three times?
3839 Solvers
Create a function handle that reverses the input arguments of another function handle
124 Solvers
Given a matrix, swap the 2nd & 3rd columns
535 Solvers
Replace Nonzero Numbers with 1
184 Solvers
Integer Sequence - II : New Fibonacci
258 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!