I have some function in string format,and I can get it short name without context
First[Defer /@ ToExpression[#, InputForm,
HoldComplete]] & /@ {"GeneralUtilities`AllSameBy","GeneralUtilities`Buzz"}
{AllSameBy,Buzz}
But actually {GeneralUtilities`AllSameBy,GeneralUtilities`Buzz}(it is not a string form but a symbol form) is expected.How to implement this?
GeneralUtilities`QualifiedSymbolNameis HoldAllComplete, and only works with Symbol arguments. UseToExpression[#, InputForm, GeneralUtilities`QualifiedSymbolName]& /@ {"GeneralUtilities`AllSameBy", "GeneralUtilities`Buzz"}instead. – Carl Woll Mar 15 '17 at 23:42{GeneralUtilities`QualifiedSymbolName[AllSameBy], GeneralUtilities`QualifiedSymbolName[Buzz]}does, which you said is what you want. – Carl Woll Mar 15 '17 at 23:57"GeneralUtilities`"is on the context path, then the context will not be displayed. If it is not on the context path, then the context will be displayed. What is the reason that you want to see the context? – Carl Woll Mar 16 '17 at 00:09$ContextPath=DeleteCases[$ContextPath,"GeneralUtilities`"].Then the context will show.Well,I have to say I really don't know this knowledge.And do you mind I compose that as an answer? – yode Mar 16 '17 at 00:17