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とはその辺の扱いが異なる。