2017-06-05 8 views
0

と仮定global_binインポートクラス

pub global activate global_bin 

を介して起動されているパッケージの/ binファイルクラス定義を作成し、それをインスタンス化します。

すなわち:

// $HOME/package/lib/class.dart 
class Clazz{ 
    int number = 42; 
} 

次に、コマンドラインで:

cd $HOME/package 
global_bin --echo number 
# 42 

答えて

2

あなたが同じ分離株の任意のライブラリをロードすることはできません。

1)https://api.dartlang.org/stable/1.23.0/dart-isolate/Isolate/spawnUri.htmlを使用して新しいアイソレートを生成する - spawnUriに任意のファイル内の新しいエントリポイントを与え、新しいダーツコードを読み込みます。

2)分離コードで実行する準備ができていないコードをロードするように思えます。独自の「メイン」メソッドはありません。したがって、コードを生成する必要があります。あなたの例では、Clazzをインポートするコードを生成する必要があります、名前でシンボルをルックアップするために起こっているエンジンは、それを実行しインポート:

import 'package:foo/class.dart'; 
import 'package:global_bin/runner.dart' as runner; 

void main() { 
    runner.run(); 
} 

今、あなたのrunner.dartは、クラスを見つけるためにミラーを使用することができます。ダーツを点検してください。

最後に、ダーツの標準ファイル機能、つまりdart:ioを使用するだけでファイルを実際に見つけることができます。

関連する問題