# Get brief help for a set of functions

When we are in console mode or working with a notebook we can get brief help about a function just by shift-entering

?function

I would like to have a list like the following

{Map, Function, List, Transpose, Outer, Sequence, Apply, Tuples, \
Distribute, Thread, Equal, Fold, Slot, Reverse, Plus, Times, Total, \
MapThread, Inner, ReplaceAll, Rule, Composition, Through, Nest, \
ToExpression, ToString, Row, Part, Range, ComposeList, Compose, \
SlotSequence, Flatten, FoldList, NestList, Hold, Release}


and get a list of strings containing the corresponding help(s).

? cannot be mapped to a list of course so i am trying to find another way.

? works with Wildcards like ?*Plot* so i suppose it accepts some kind of pattern matching.

Any ideas ?

-
Information[#] & /@ {Map, Function} isn't quite what you're looking for... –  cormullion Dec 10 '13 at 12:09
@cormullion this is nice but firstly Information corresponds to ?? and not ? and secondly (and more important to me) in the notebook I work, I cannot convert the cells to a more usable form so to gather them as a list. I viewed the notebook with a text editor and I find it very difficult efficiently extracting the useful information. –  tchronis Dec 10 '13 at 12:15
strongly related Dynamic usage message –  Kuba Dec 10 '13 at 13:50

Is this what you are after?

#::usage & /@ {Map, Scan}

{Map[f,expr] or f/@expr applies f to each element on the first level in expr.
Map[f,expr,levelspec] applies f to parts of expr specified by levelspec.,
Scan[f,expr] evaluates f applied to each element of expr in turn.
Scan[f,expr,levelspec] applies f to parts of expr specified by levelspec. }

-
yes thank you very much! –  tchronis Dec 10 '13 at 13:24

You can map ?. Just turn off its LongForm form -- like this:

Information[#, LongForm -> False] & /@ {Map, Function}


### Update

cl::usage = "blabla"; cl := {1, 2, 3}^2;
Information[#, LongForm -> False]& /@ {cl}


Information::ssym: {1,4,9} is not a symbol or a valid string pattern. >>

produces the error message shown. The message is pretty clear. Information has attribute HoldAll and wants a symbol or a string as its argument. But the message shows cl got evaluated before Information saw it. Here are two ways to avoid this problem.

Information[#, LongForm -> False]& /@ {Unevaluated @ cl};
Information[cl, LongForm -> False]


both of which produce

as does

?cl

which is equivalent to Information[cl, LongForm -> False].

-
Well spotted! Not mentioned in "Details and Options", but tucked away in "Options" anyway; it's always worth double-checking... :) –  cormullion Dec 10 '13 at 14:37
Thanks @m_goldberg . –  tchronis Jan 6 at 17:12
One quick question: When the function is defined with no arguments (like cl::usage="blabla";cl:={1,2,3}^2) then I get an error. Do you know a way to overcome this? –  tchronis Jan 6 at 17:23