Is there a non-eval based solution to effectively getting the output of disp as a string value?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
x = evalc('disp(''hello world'')');
However, I'd really rather not use eval* functions for a couple of reasons. I imagine that `disp` itself is implemented in terms of the function I'm looking for, even if it is an undocumented function.
4 Commenti
Brent Kostich
il 29 Mag 2020
What is your purpose behind getting "the string-view of generic MATLAB values"? Chances are there is a way to accomplish your goal without displaying the values.
Risposte (1)
Walter Roberson
il 30 Mag 2020
You can use diary() to have the output of disp copied to a file, then turn diary off and read the file. This will not be any better than evalc.
2 Commenti
Walter Roberson
il 30 Mag 2020
The code for display() does not build up the character representation of complex objects and then afterwards send the character representation to the command window. Instead, the various display() methods build up the output in small pieces, mostly emitting the results as they go. A few of the routines do build up multiple columns and emit that, but at the moment I do not recall anywhere that builds up multiple rows to be emitted together (I could not rule out the possibility at the moment; each datatype is responsible for its own strategy.)
Vedere anche
Categorie
Scopri di più su Entering Commands in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!