Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. $printCache = {};
  2. cachedPrint[code_] :=
  3. Internal`InheritedBlock[{Print},
  4. Unprotect@Print;
  5. Print[stuff__] /; (! TrueQ@$printCachingOverload) :=
  6.  
  7. Block[{$printCachingOverload = True},
  8. AppendTo[$printCache, {stuff}];
  9. Print[stuff]
  10. ];
  11. Protect@Print;
  12. code
  13. ];
  14. cachedPrint~SetAttributes~HoldFirst;
  15.  
  16. cachedPrint[Do[someSuperCoolFunction[x]; Print[x, " etc."], {x, 10}]]
  17.  
  18. In[33]:= $printCache
  19.  
  20. Out[33]= {{1, " etc."}, {2, " etc."}, {3, " etc."}, {4, " etc."}, {5,
  21. " etc."}, {6, " etc."}, {7, " etc."}, {8, " etc."}, {9,
  22. " etc."}, {10, " etc."}}
  23.  
  24. In[34]:= DownValues@Print
  25.  
  26. Out[34]= {}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement