0
私たちの以前の開発者は、Nashornに置き換えたい独自のjavascriptエンジンを実装しました。新しい演算子と型を追加するためのNashorn ecmaエンジンの拡張
彼はECMA標準のサブセットを実装しているので、理論的には言語をわずかに拡張したことを除けば、かなり単純な操作でなければなりません!
言語がサポートできる構文の例で最もよく説明されています。彼は
- を持って見ることができるように
var today = now(); //create a proprietary object that represents time var tomorrow = today + 1d; //Add a day. NOTE 1h is NOT a constant
は自分の時間クラスに演算子オーバーロードを追加しました。
- 時間の長さを表す新しい 'タイプ'の数字が導入されました。このタイプは、1d、3d4h5s、1h、5mなどのパターンでインスタンス化できます。これらの数値を時間の加減算する方法はコードで分かります。
同等のJavaScriptコードは次のようになり
var today = now(); //create a proprietary object that represents time
var tomorrow = today.plus(new Duration('1d')); //Add a day.
私はNashornは、任意の「フック」を持っている場合、我々はこれらの「機能」で言語を拡張したり、我々はすべて書き直す必要が行うことができますように知っていただきたいと思い
私たちのスクリプト?
おかげ
リチャード
実際にDate()s(kinda)を使用することができます。 'H1 = 1000 * 60 * 60;警告(新しい日付(+新しい日付()+ H1)) ' – dandavis
H1は定数ではありません。それは実際には数字のタイプです。 – richard