Olympic puzzle number one

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 comentarios

John Petersen
John Petersen el 31 de Jul. de 2012
Editada: John Petersen el 31 de Jul. de 2012
Would somebody please answer this so I can use clear again? aaaah... Thanks Mike!!
Daniel Shub
Daniel Shub el 31 de Jul. de 2012
Credit should really be given to Loren.
Jan
Jan el 31 de Jul. de 2012
Yes, extra credits for Loren. Extra point for Daniel for the link to Loren's blog!

Iniciar sesión para comentar.

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 31 de Jul. de 2012

2 votos

system('matlab &');quit

1 comentario

Jan
Jan el 31 de Jul. de 2012
Editada: Jan el 31 de Jul. de 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.

Iniciar sesión para comentar.

Más respuestas (4)

Mike Hosea
Mike Hosea el 31 de Jul. de 2012
Editada: Mike Hosea el 31 de Jul. de 2012

3 votos

  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 comentarios

Jan
Jan el 31 de Jul. de 2012
Editada: Jan el 31 de Jul. de 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 el 1 de Ag. de 2012
I wonder if the workspace window method method can be accessed by a java method from the commandline.

Iniciar sesión para comentar.

Sean de Wolski
Sean de Wolski el 31 de Jul. de 2012

3 votos

clear = rand(1000,500,700);
pack

2 comentarios

Daniel Shub
Daniel Shub el 31 de Jul. de 2012
I like this solution.
Jan
Jan el 31 de Jul. de 2012
Relief by much beef. The weight-lifting method.

Iniciar sesión para comentar.

Daniel Shub
Daniel Shub el 31 de Jul. de 2012

3 votos

Missing from the obvious solutions are:
clear = str2func('clear'); clear();
and
feval('clear');

3 comentarios

Sean de Wolski
Sean de Wolski el 31 de Jul. de 2012
Editada: Sean de Wolski el 31 de Jul. de 2012
Nice! I would've thought the str2func solution would have recursively called itself.
Jan
Jan el 31 de Jul. de 2012
Editada: Jan el 31 de Jul. de 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 el 1 de Ag. de 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');

Iniciar sesión para comentar.

Daniel Shub
Daniel Shub el 31 de Jul. de 2012

1 voto

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 comentarios

Sean de Wolski
Sean de Wolski el 31 de Jul. de 2012
clearvars is just a fancy wrapper for evalin with clear.
edit clearvars
Jan
Jan el 31 de Jul. de 2012
Disqualified. Who cares, the most important thing is not to win but to take part!
Daniel Shub
Daniel Shub el 1 de Ag. de 2012
@Sean, my point was that it could be a slightly fancy wrapper that could catch this error

Iniciar sesión para comentar.

Categorías

Más información sobre Board games en Centro de ayuda y File Exchange.

Preguntada:

Jan
el 31 de Jul. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by