8

外部スクリプトを呼び出す関数を作成しようとしていますが、構文に問題があります

scripts_folder = "C:\\Program Files\\Autodesk\\3ds Max 2008\\Scripts"
var script1 = "hello_world.ms"

-- use function to call scripts
callScript(script1)

-- function callScript
function callScript script =
(
getFiles scripts_folder + "\\" + script
)
4

2 に答える 2

13

ここで、考えられる 2 つの解決策を区別することをお勧めします。

  1. ファイルイン
  2. 含む

fileIn は、「スクリプトの実行」と同じことを行うか、エディターですべてを評価します。グローバルに宣言されている場合は関数を使用可能にすることができます (好ましくないため、可能な限り少ないグローバルを使用します)。そのスクリプト内でローカルに宣言されている場合は、アクセスできません。

インクルードは実際にそのファイルからコードを取得し、その時点で挿入します。したがって、大きなスクリプトがあり、物事をもう少しうまく整理したい場合は、特定の関数を別のファイルに記述し、スクリプトの実行時にその関数を含めることができます。これにより、その関数はそのスコープに含まれているため、常にアクセスできるようになります。

于 2012-10-18T09:06:58.867 に答える
4

理解した!

--- "hello_world.ms"
enter function hello =
(
print "hello the world"
)


---- another _script.ms
fileIn "hello_world.ms"

-- use function to call scripts

こんにちは ()

fileIn は include よりもうまく機能するようです

于 2012-10-15T16:34:02.290 に答える