サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
www.h4.dion.ne.jp/~unkai
初出時、色校正(色確認)について不正確な記述をしていました。(yamma_maさんご指摘ありがとうございます。)(2011/08/23)
ECMAScriptはJavascriptの仕様を標準化しようとして作成されました。http://www.ecma-international.org/publications/standards/Ecma-262.htmでPDF形式の仕様書が公開されています。このECMA-262.pdfの巻末にあるAnnex Aには拡張BNFによる文法の定義が記載されています。
プログラムから他のプログラムを実行して処理を行なったり、実行結果を受け取ることが必要になることがあります。ここでは、Javascriptから他のプログラムを実行する方法を紹介します。ただし、今回対象とするプログラムはコマンドプロンプトから実行するプログラムです。CScript.exeにより実行されるJavascriptのプログラムもその対象になります。
Javascriptには関数式と呼ばれるものがあります。関数式は数値や文字列のようにプログラムにリテラルとして書かれた関数です。
WindowsではOLEと呼ばれる仕組みを使って他のプログラムを操作することができます。コマンドプロンプトで動作するプログラムの場合は前の章で説明した方法で利用することができます。しかし、Microsoft Officeのような大きなアプリケーションはOLEを使って操作することになります。 普段の業務の中でもEXCELは多くの定型処理を行なっていると思います。EXCELを外部から操作できるとさまざまな応用が考えられます。ところで、EXCELはその内部に強力なマクロプログラムの機能を持っています。外部からプログラムで操作することに意味があるでしょうか? これまでのわたしの経験ですが、動的な表の制御、グラフの生成などは内部のマクロプログラムで行なうほうが便利です。しかし、次に示すように内部のマクロプログラムを使うことができない場合や使わないほうが良い場合があります。
継続とはコンピュータがプログラムを実行しているときの次に何をするのかを表す概念です。詳しくは何でも継続のページを参照し欲しいのですが、継続はプログラムを実行する上で欠かせない存在となっています。ソースコードのある行を実行したら次の行を実行します。関数(サブルーチン)を終了したら、呼び出し元に戻ります。これらは全て継続です。あたりまえと言えばあたりまえのことです。しかし、このあたり前のことを明確に意識しようとすると途端に目の前に霞がかかったようになります。 プログラミングの世界の概念には、禅の公案のようなものがある。それを説明する文章はほんの一文なのに、最初に目にする時、その文は全く意味をなさない、暗号のように感じられる。だがひとたびその概念を理解すると、その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも「継続」は最も謎めいたもの
更新記録 2008/03/20 Javascriptのシェルにtime()関数を追加 2008/03/09 Javascriptプログラミング 12 継続渡し形式(CPS) 2008/03/08 Javascriptプログラミング 8 オブジェクト指向プログラミング 大幅に改定&追記 2008/03/02 Javascriptシェルに文法チェックの選択を追加 2008/03/02 Javascriptプログラミング 11 HTMLアプリケーション 2008/02/24 Javascriptプログラミング 9 状態遷移 2008/02/21 Javascriptプログラミング Javascriptのシェル 2008/02/17 Javascriptプログラミング 8 オブジェクト指向プログラミング 2008/02/03 Javascriptプログラミング HTMLのタグを作る関数 メニュー
基本的なテキストファイルの操作を行うプログラムを作ります。Windows Script HostではScripting.FileSystemObjectというActiveXオブジェクトを使うことでファイルシステムの操作を行います。 Scripting.FileSystemObjectの詳細については、Windows Script Host 5.6のドキュメントを参照してください。 2.1.1 テキストファイルの読み込み sample1.js var fso = new ActiveXObject("Scripting.FileSystemObject"); var file = fso.OpenTextFile("sample1.js", 1, false); try { while (!file.AtEndOfStream) { WScript.Echo(file.ReadLine())
試しに自分でも作ってみたところ、これが意外とおもしろいものでした。これまで、エディタを立ち上げて、コマンドプロンプトを立ち上げて、とやっていたものがブラウザだけで簡単に実行できるようになります。できたプログラムを保存するためにはエディタを使う必要がありますが、簡単なコード片を実行するのには便利です。 ところが、スクリプトが長くなると文法エラーを見つけるのが面倒です。そこで、以前作ったJavascriptのパーサーを組み込んで実行前に文法エラーをチェックするようにしてみました。
このページを最初にブックマークしてみませんか?
『www.h4.dion.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く