ひまつぶし雑記帖

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

CotEditorからjavascript(JXA)経由でperlへ

2015/9/8 [08:45:50] (火) 天気

CotoEditorで昨日書いたapplescriptと同じことをするjavascript(JXA)を書いたのでメモ。

YosemiteからはOS標準でJavaScript for Automation (JXA)が使えるようになった。
歴史的な流れとしては、HyperCardのHyperTalkからapplescriptへ、applescriptからjavascriptへということらしい。これらは乱暴に理解すると、unixでのシェルスクリプトやWINDOWSのバッチファイルみたいなもの、か。いや、macのことはよく知らない。

こちら、 『JavaScript for Automation (JXA)』鳶嶋工房 がとても参考になった。

これからはjavascriptだというし、初めてでよくわからなかったapplescriptよりは多少いじったこともあるjavascriptの方がたぶん早いだろうと、昨日applescirptで書いたばかりだけど、javascriptで書き直した。

ここんとこいじってるスクリプト、マクロはxyzzyもCotEditorのスクリプトも身も蓋もない言いかたをすると「シェルに渡すためのコマンドライン文字列を生成するだけ」のもの。

実際の作業はperlのスクリプトが担当なのでマクロやスクリプトでは難しいことは何もしていない。

javascirpt(JXA)版スクリプト

CotEditorのスクリプトとして使うには
・ファイル名(拡張子)「.js」
・ファイルの一行め「#!/usr/bin/osascript -l JavaScript」
この2点が必要。



HOMEディレクトリ(のpath)を取得するのに、わざわざstdlib使うのって大袈裟な感じやな、とか思ったりしつつ、アプリをいじるための呪文
var app = Application("CotEditor");
app.includeStandardAdditions = true;
を入れてプロパティを調べるぐらいで、後はほんとJavascript。
わたしの慣れの問題で当たり前の話、applescriptよりJavascirptの方が格段にわかりやすい。わからないところ・書き方などはJXAというかJavascirptで検索すれば情報豊富で解決も早い。

今回、macの「スクリプトエディタ.app」が手軽・便利で大助かりだった。変数に何が入ってるのかを見られたり、エラーチェックできて、こんなアプリがあったとはちょっとした発見&驚き(今さら感)

ただ、残念なことに、このJavascript版はosascriptで使うと
warning: failed to get scripting definition from /usr/bin/osascript; it may not be scriptable.
という警告が毎回出てしまう。いちいちコンソールが出て警告されるのは鬱陶しいけどしかたがないらしい。
こちらが参考になった→ 『JXAの「Error: A privilege violation occurred」の回避』

せっかくだけど、昨日のapplescriptはお蔵入り・塩漬けだなあ。

image 

»電子書籍制作代行についてはこちら

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

ところてんx5

2024/4/20 13:29

役に立つからとか身を助けるからとか、んな理由じゃなくて、面白いからとか好きだからで、寝食忘れて何かに没頭する時期があるかないかで、何かの分かれ目になると思う

2024/4/20 13:06

シンボリルドルフ当時。パソコン仕事でまったく関係ないし、ただのオモチャ。
なんで役に立たないことやってんの、だったもんなあ

2024/4/20 13:04

何度も同じことを言う老人特権。
ほんと、馬券、競馬から入ってパソコン使うようになったおかげで、この歳になっても小銭稼ぎできるんだから、何が幸いするかわからんものだ

検索
<<2024/4>>
 123456
78910111213
14151617181920
21222324252627
282930

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版