Olympic puzzle number one

2 views (last 30 days)
Jan
Jan on 31 Jul 2012
Daniel has provided this nice puzzler:
clear = @()disp('Have fun undoing this (:');
Let's solve this challenge and restore the original clear command in as many ways as you find.
  3 Comments
Daniel Shub
Daniel Shub on 31 Jul 2012
Credit should really be given to Loren.
Jan
Jan on 31 Jul 2012
Yes, extra credits for Loren. Extra point for Daniel for the link to Loren's blog!

Sign in to comment.

Accepted Answer

Sean de Wolski
Sean de Wolski on 31 Jul 2012
system('matlab &');quit
  1 Comment
Jan
Jan on 31 Jul 2012
Edited: Jan on 31 Jul 2012
The rebirth method! +1 from Heidelberg!
On stage deeper: WinPower('rebootmatlab', 'which clear -all') I've always known that this tool will be useful for anything sometimes.

Sign in to comment.

More Answers (4)

Mike Hosea
Mike Hosea on 31 Jul 2012
Edited: Mike Hosea on 31 Jul 2012
  1. builtin('clear','clear')
  2. You can delete the variable from the workspace window (highlight and press delete or right click and delete).
I look forward to reading some more creative ways.
  2 Comments
Jan
Jan on 31 Jul 2012
Edited: Jan on 31 Jul 2012
First! Thanks for taking the builtin out of the race. The workspace browser is an almost external tool to operate in the workspace. +1
Daniel Shub
Daniel Shub on 1 Aug 2012
I wonder if the workspace window method method can be accessed by a java method from the commandline.

Sign in to comment.


Sean de Wolski
Sean de Wolski on 31 Jul 2012
clear = rand(1000,500,700);
pack
  2 Comments
Daniel Shub
Daniel Shub on 31 Jul 2012
I like this solution.
Jan
Jan on 31 Jul 2012
Relief by much beef. The weight-lifting method.

Sign in to comment.


Daniel Shub
Daniel Shub on 31 Jul 2012
Missing from the obvious solutions are:
clear = str2func('clear'); clear();
and
feval('clear');
  3 Comments
Jan
Jan on 31 Jul 2012
Edited: Jan on 31 Jul 2012
Re-identification using str2func is fine. I'm surprised that feval does not fail. Most of all: The first approach contains "clear" three times. This is the winner in synchronized swimming.
Mike Hosea
Mike Hosea on 1 Aug 2012
If you wanted to leave the rest of the workspace undisturbed it would have been four mentions of "clear":
clear = str2func('clear'); clear('clear');

Sign in to comment.


Daniel Shub
Daniel Shub on 31 Jul 2012
Somewhat surprisingly the CLEARVARS function is not a solution and gives an unhelpful error message. I think the failure probably qualifies as a bug.
  3 Comments
Jan
Jan on 31 Jul 2012
Disqualified. Who cares, the most important thing is not to win but to take part!
Daniel Shub
Daniel Shub on 1 Aug 2012
@Sean, my point was that it could be a slightly fancy wrapper that could catch this error

Sign in to comment.

Categories

Find more on Board games in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!