问题
I have a bunch of user-defined functions that are frequently used in mathematica. I wonder if I can store them in separate files and mathematica will load them on start and treat them as built-in functions, so that I don't have to repeat the definitions whenever I create a new .nb file. Something similar to functions in Matlab...
Thanks!
回答1:
You can create a package in $UserBaseDirectory/Autoload. This will be loaded at Kernel initialization time.
Your package should have a Kernel/init.m file
MyPackage/Kernel/init.m
Reference documentation on Mathematica packages: http://reference.wolfram.com/mathematica/tutorial/SettingUpMathematicaPackages.html
DeclarePackage[]
is a lazy loading mechanism for symbols and their definitions. The associated package is loaded only when the symbol is used:
http://reference.wolfram.com/mathematica/ref/DeclarePackage.html
来源:https://stackoverflow.com/questions/3589107/how-to-automatically-load-user-defined-functions-in-mathematica