Dear Forum, Will Chen asked: > Normally when you write a function F that returns a value, entering "F();" > into the command line will display the full return value of the function. > You can suppress this output calling the function using the > double-semicolon "F();;" in the terminal. > > Is it possible to suppress this output from *within the function*?
There isn’t a particular built-in feature for this, but since the outpus is produced by a call to `View`, you can achieve the same by installing a suitable method for `ViewObj`: DONTSHOW:="DONT_SHOW_STRING"; InstallOtherMethod(ViewObj,"Ignore particular",[IsObject],2*SUM_FLAGS, function(x) if IsIdenticalObj(DONTSHOW,x) then Print("<I won't show you this>”); # delete the line to get no output else TryNextMethod(); fi; end); Now an object that is assigned to the global `DONTSHOW` will give the output <I won't show you this>. For example: gap> DONTSHOW:=5;; gap> [1,2,3,4,5,6,7]; [ 1, 2, 3, 4, <I won't show you this>, 6, 7 ] If you delete the `Print` statement, nothing will be shown. By assigning the return value to the variable, this would let you do as you want. Note that the test is `IsIdenticalObj`, not equality, to be guaranteed quick, but it means that it only recognizes the one, particular, specified object. Best, Alexander Hulpke _______________________________________________ Forum mailing list Forum@gap-system.org https://mail.gap-system.org/mailman/listinfo/forum