スポンサーリンク

コンパイル言語には eval がない?

あくまで「基本的には」ということらしく、僕も全ての言語について確認したわけではないのですが。

というのも、ちょっと面倒なプログラムを Java で書く必要があって、スクリプト言語がホームな僕は「文字列を組み立てて eval に食わせれば何とかなるか。」くらいにしか考えてなかったんですよ。

ところが! Java には eval なんて無かったんですね。知りませんでした。

ちょっと調べてみたところによると、コンパイル言語で eval を実装しようとすると、実行ファイルにコンパイラを同梱しなくちゃいけなくなるから普通は無いんだそうです。

そりゃ確かに本末転倒だわなぁ。

一方のスクリプト言語では、そもそも実行環境が必要なわけだし、毎回実行時にソースを解析しているわけだから、それで一緒に処理しちゃえばいいのでそんなに問題にならないんだとか。

なるほどねぇ。

で、さっきの Java で eval しようとした件の解決策ですが、なんと! Java には javax.script というライブラリがあって(Java 8 からだそうですが)その中の javax.script.ScriptEngine と javax.script.ScriptEngineManager と javax.script.ScriptException ってのを使うと JavaScript のソースを実行できたので、そいつでゴニョゴニョしちゃいました。

スポンサーリンク
コメント
Verify your Comment
Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

コメントを投稿
おすすめの記事と広告

プロフィール


  • 書いてる人:夢界 陸

    名古屋在住のおっさん。
    プログラミングやガジェットの話など、 日々の興味を徒然と綴っています。



    Twitterやってます @mukairiku



    運営サイト
    www.mukairiku.net

ブログ内検索

Licenses

  • Creative Commons License

OTHER

  • このブログのはてなブックマーク数

Blog powered by TypePad

スポンサーリンク