Scriptの癖

前回掲載したスクリプト文は、AfterEffectsのスクリプトフォルダに毎度添付される「Change Render Locations」を改造して、自分たちの使いやすいスクリプトに変えているのですが、大幅に書き換えているとは言え、スクリプトの作者さん(2バイト文字への配慮がないあたり、1バイト文字圏の外人さんでしょう)の癖をいくつか残した文になっています。なんとなくながめていて、ふと、気がつきました。

 

私はインクリメント、デクリメントは、例えば変数「i」ならば、

 

i++

 

とやるのですが、原文の作者さんは、

 

++i

 

‥‥と書いております。私は不勉強なもので、演算子を前に持ってきても良いことを、今さら気がついた次第です。ちなみに、前置と後置では若干動作が異なるとのことですので、私は使い慣れた(=期待する動作をする)後置「i++」を今後も使うと思います。

 

ちなみに、私が昔から慣れ親しんで今でも現役のAppleScriptでは、このような演算子はなく、

 

set i to i+1

 

‥‥と書きます。解りやすいですけど、文字数は多い‥‥ですネ。なので、AppleScriptのスクリプト文は長くなりがちです。

 

私がJavaScriptベースのAdobe Script(正式名は不明です...)を使っていて便利だなと思うのは、null, 0, undefined以外の有効な値はtrue扱いになる仕様です。いちいち「trueかfalseか」を演算しなくても良いので、文がすっきりします。

 

もし変数「newLocation」の中身がFileやFolderのObjectでなく、nullだった場合(ユーザがファイル・フォルダ選択をキャンセルした場合など)は、

 

if (newLocation != null) {...

 

とやらずとも、

 

if (newLocation) {...

 

‥‥と書けば期待した動作になります。

 

私がその昔覚え始めて体に馴染んだいくつかの言語は、ifで取り扱う値は真偽値オンリーでしたので、JavaScriptの有効な値ならtrue、それ以外はfalseという仕様になかなか馴染めませんでした。‥‥が、慣れちゃえば楽です。考え方としても「有効な値だったら、スクリプトが進行する」ので、いちいち「真偽のまな板にのせる必要がない」ので手順がちょっとだけ省けます。その「ちょっと」が数百数千行になると、結構活きてきます。

 

でもまあ、結局はスクリプトを書いている人の癖みたいなものですね。

 

私は、本文から呼び出すファンクションやサブルーチンは、下に纏める習慣があるのですが、これも癖でしょうね。「main()」や「on run」で本文を纏めたいのも、私の癖というか、好みですし。

 

スクリプトやプログラムの文って、当人の考え方の手順、要素の整理の仕方を、如実に反映して興味深いです。他人のスクリプト文やプログラムコードを読むと、目から鱗が落ちることも多いです。

 

 



calendar

S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 
<< November 2018 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM