Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Create a symbol for each named resource function
ResourceFunction["CreateResourceFunctionSymbols"][] defines a symbol for each named ResourceFunction in the "RF`" context. | |
ResourceFunction["CreateResourceFunctionSymbols"]["ctx`"] defines symbols in the given context. | |
ResourceFunction["CreateResourceFunctionSymbols"]["ctx`",{"name1","name2",…}] only defines symbols for the given names. | |
ResourceFunction["CreateResourceFunctionSymbols"]["ctx`",names,"op"] performs the operation specified by "op" on names. |
OverwriteTarget | False | whether to redefine the target symbol if it already exists |
ExcludedContexts | Automatic | a list of contexts that should be protected from changes |
ResourceSystemBase | Automatic | the resource system to obtain names from |
AllowUnknownNames | True | whether to set definitions for unknown resource names |
"List" | list the symbols created |
"Remove" | remove the symbols created |
"Create" | equivalent to the two-argument form |
Create symbols for each resource function:
In[1]:= |
Out[1]= |
Use a resource function as a symbol:
In[2]:= |
Out[2]= |
Specify the context:
In[3]:= |
Out[3]= |
Use a resource function from the new context:
In[4]:= |
Out[4]= |
Define a single resource function:
In[5]:= |
Out[5]= |
Use it:
In[6]:= |
Out[6]= |
Define a specific set of resource functions:
In[7]:= |
Out[7]= |
Try them out:
In[8]:= |
Out[8]= |
List symbols created by CreateResourceFunctionSymbols:
In[9]:= |
Out[9]= |
Other symbols are not included in this list:
In[10]:= |
In[11]:= |
Out[11]= |
Compare to Names:
In[12]:= |
Out[12]= |
Remove symbols created by CreateResourceFunctionSymbols:
In[13]:= |
Out[13]= |
Other symbols are not removed:
In[14]:= |
Out[14]= |
By default, existing symbols with definitions won't be redefined:
In[15]:= |
In[16]:= |
Out[16]= |
In[17]:= |
Out[17]= |
The definition is unchanged:
In[18]:= |
Out[18]= |
Overwrite any existing symbols:
In[19]:= |
Out[19]= |
In[20]:= |
Out[20]= |
By default, some contexts are protected:
In[21]:= |
Out[21]= |
Override this protection (at your own risk):
In[22]:= |
Out[22]= |
In[23]:= |
Out[23]= |
In[24]:= |
Out[24]= |
By default, CreateResourceFunctionSymbol will allow defining symbols for names that are not recognized:
In[25]:= |
Out[25]= |
These symbols will fail at runtime if used before the corresponding ResourceFunction exists:
In[26]:= |
Out[26]= |
Use "AllowUnknownNames"->False to ensure that unrecognized names will cause a failure:
In[27]:= |
Out[27]= |
Define all resource functions from a particular category:
In[28]:= |
Out[28]= |
In[29]:= |
Out[29]= |
In[30]:= |
Out[30]= |
Create symbols in the current context to reference resource functions by their base name:
In[31]:= |
Use the resource functions FoldRight, Stereogram3D and StringFunction:
In[32]:= |
Out[32]= |
In[33]:= |
Out[33]= |
In[34]:= |
Out[34]= |
Get the list of created symbols:
In[35]:= |
Out[35]= |
In[36]:= |
Out[36]= |
Symbols that have already been created by CreateResourceFunctionSymbols are returned as Missing objects:
In[37]:= |
Out[37]= |
In[38]:= |
Out[38]= |
In[39]:= |
Out[39]= |
User-created resource functions will also be included if they are discoverable by name:
In[40]:= |
Out[40]= |
In[41]:= |
In[42]:= |
Out[42]= |
Create a resource function symbol:
In[43]:= |
Out[43]= |
Check the definition:
In[44]:= |
Out[44]= |
The definition changes after the symbol is used for the first time:
In[45]:= |
Out[45]= |
In[46]:= |
Out[46]= |
Locked symbols cannot be overwritten:
In[47]:= |
In[48]:= |
Out[48]= |
In[49]:= |
Out[49]= |
In[50]:= |
Out[50]= |
This work is licensed under a Creative Commons Attribution 4.0 International License