
However you need to study Context closely. If a Private defined function that is also public (outside of Private) takes arguments, the arguments can of course, be functions. Note also that your code "could work" (the x inside table will be run Privatex if you check ?run Private*, in general if x does not exist Mathematica will create it - in this case not in Global). Yet another way is to define something outside of Private that can be replaced by user without need of Unprotect, ex run x (note this can still become a problem with Global). However: use of Options is a better way to handle allowing (user) to set variables generally used by parts of a package. For this reason when it's necessary to offer convenience to use Global use a LONG NAME (and not something cryptic). Note that it's a bad practice to use x from Global because (users/you) may be using it for something else and other "bad" packages may introduce further confusion. Finance, Statistics & Business Analysis.Wolfram Knowledgebase Curated computable knowledge powering Wolfram|Alpha. Wolfram Universal Deployment System Instant deployment across cloud, desktop, mobile, and more. Wolfram Data Framework Semantic framework for real-world data.
