適切なDart構文を使用して文字列を取り、それを呼び出し可能なダーツ関数に変換したいと考えています。それを行う方法はありますか?動的に関数を生成する方法は?
例えば、私は、
void test() { print("testing!"); }
を文字列を受け取ることになる。そして呼び出し可能な関数にそれを回します。私がこれをやりたいのは、他のサーバーからダーツファイルをダウンロードしてその機能を呼び出すことができるからです。ダーツよくある質問パー
適切なDart構文を使用して文字列を取り、それを呼び出し可能なダーツ関数に変換したいと考えています。それを行う方法はありますか?動的に関数を生成する方法は?
例えば、私は、
void test() { print("testing!"); }
を文字列を受け取ることになる。そして呼び出し可能な関数にそれを回します。私がこれをやりたいのは、他のサーバーからダーツファイルをダウンロードしてその機能を呼び出すことができるからです。ダーツよくある質問パー
ダーツは、現在、evalの()関数で、また任意の文字列のサポートランタイムのコンパイルを持っていません。
だから、あなたがやりたいことをするには、あなた自身のVMをダーツ内で作る必要があります。
ターゲットプラットフォームによって異なります。スタンドアロンのDart VMをターゲットにしている場合は、既に使用可能です。 SDKツールPubがそれをやっています。
gernatedアプリケーションに埋め込まれた機能を提供するアプリケーション内部Webサーバーをセットアップできます。アプリケーションを追加の分離にロードし、メッセージ分離を使用してその分離と通信することができます。このアプローチを使用して、アプリケーション用のプラグインを作成することもできます。
しかし、これを自分で実装するには時間がかかることがあります。数式やその他の簡略化された部分を解析する場合は、利用可能なPubパッケージ(parsersまたはmath_exprerssions)を調べることができます。
JavaScriptを作成してeval()を使用し、JS-interopを使用します。
関連性がありますか? http://stackoverflow.com/questions/13293345/dynamic-class-method-invocation-in-dart –
@ user1956570 https://www.dartlang.org/ - すばらしい、それらの検索エンジン – user2864740