MAXScriptを軽く触ってみた印象

3ds max用スクリプティング言語MAXScriptを軽く触ってみた印象。

構文が今までに読んだことのあるどの言語とも違い独特

  • ブロックが{}ではなく()
  • メソッド引数区切りにコンマはいらない。(Haskellライク?)
  • 関数定義がfn {関数名} = ()
  • return省略するとブロック中最後の式評価が返される点はrubyライク
  • foreachっぽいのがある(for cam in cameras do)
  • 名前付パラメータを言語レベルでサポートしている。これは気に入った

コレクションの扱いが結構謎なので後で調べる。

Emacsに対するCommonLisp的な関係にあるMAYAにおけるMELと違い、MAXScriptはあくまでC++プラグインスクリプトラッパー的な位置づけで作られているみたい。maxのUIはC++で実装されているようで、全てのコマンドに対して等価MELスクリプトが存在する(らしい)MELとはその辺の扱いが異なる。