2012-04-13 6 views
0

Java VM上で実行できるスクリプト言語を探しています。これは、ユーザーが指定に使用できる単純なスクリプト言語として機能しますどのようにファイル名が音楽メタデータから構築されるかJavaScriptは推奨されていたところ、私はこれを使用し、それが動作鉱山Putting a simple expression language into javaの以前の関連記事を参照してください。Java用Javascriptの代替プラグインで、ユーザーがマスクを指定する方法を提供する

すなわちI私は次のメタデータを含むファイルがある場合:

albumartist=U2 
album=Boy 
trackno=02 
title=Twilight 

をし、このJavaScriptマスク適用されます。

(albumartist.length>0 ? albumartist +'-' :(artist.length>0 ? artist + '-' : ' ')) + (album.length>0 ? album + '-' :'') + (trackno.length>0 ? trackno + '-' :'') + title 

それが出力されます

U2-ボーイ-02-トワイライト

は素晴らしいです。

しかし、問題はJavaScriptの構文がで平均的なユーザーのためにはあまりにも硬いです。

私はプラグイン可能な別のスクリプト言語をお勧めしますが、これは私には単純な機能ですが、より単純な構文です。私が代わりに構文のこの種を使用することができれば、例えば、それはいいだろう

if(albumartist,albumartist-)else if(artist,artist-)(album,album-)(trackno,trackno)title 

と同じ結果

答えて

0

ではなくスクリプト言語を取得する私はあなたがFreemarkerのようなテンプレート言語を使用してに見てください。

いずれのパスを選択する場合でも、ユーザーが入力したものを受け入れて実行するというセキュリティの意義に注意してください。

+0

に行き、他のパーサとJSONに関する一般的な情報についてはhttp://code.google.com/p/google-gson/

が、私はそれを –

-1

おそらくJSONを使用すると、問題を解決するのによい方法です。あなたが与える例では、JSONは次のようになります:

{ 
    "albumartist": "U2", 
    "album": "Boy", 
    "trackno": 2, 
    "title": "Twilight"  
} 

JSONからJavaへのパーサーは数多くあります。おそらくhttp://www.json.org/

+0

得るいけないこんにちは、私はあなたが、私は、ユーザーが入力したい問題を誤解だと思う - 私はGoogleからのGSONを使用しますいくつかのメタデータに適用できるマスク、jsonはこの –

+0

を助けません。申し訳ありませんが、あなたは正しいです。私は慎重に質問を読まなかった。残念ながら私はあなた自身の単純なスクリプティング言語パーサを書く以外に何も示唆することがありません。実際にはそれほど難しいことではありません。 –

+0

パーサーがif/elseなどの構文を理解し、substring()やuppercase()などの関数を理解したいと考えています。 IMOこれはあまりにも難しいです(実際にはJavascriptを使用するまで自分のパーサーを持っていました)。私は車輪を再発明するのは好きではありませんので、Javascriptを固執する必要があります –

関連する問題