2016-10-03 17 views
0

アプリケーションを開始するときには、戻り値はpidまたはエラーである必要があります。一度だけ実行するプログラムのエリクシールアプリケーションの使用

処理を一度しか実行しないプログラムに対してアプリケーションを使用することは可能ですか?何かのようなもの。

defmodule MyApp do 
    use Application 

    def start(_type, _args) do 
    # Do stuff 
    {:done, :normal} 
    end 
end 
+0

アプリケーションは堅牢である必要があり、長い実行中のプログラムのためのものです...これがコンソールスクリプトのような一度限りのものであれば、なぜそれをスクリプト(.exs?)としてモデル化しないでしょうか?そして、それが堅牢であることを意図されている場合、なぜアプリケーションモデルがあなたを困らせるのですか? – bottlenecked

+0

なぜOTPアプリケーションが必要ですか? – mudasobwa

+0

答えは、アプリケーションを使用せずにエスケープすることです。私は何が正しいミックスプロジェクトを作るのかがはっきりしていません。おそらく質問は、1つの実行プログラムのためのミックスプロジェクトの外観です。 –

答えて

1

あなたは@Peterをオーバーコンプリートしています。あなたが望むのはエリクシールのスクリプト(exsファイル)です。この例で起動します。

defmodule MyApp do 
    def my_test_func do 
    IO.puts "Hello world!" 
    end 
end 

MyApp.my_test_func 

test1.exsとしてそのコードを保存します。その後、コマンドプロンプトからelixir test1.exs経由で実行できます。単純なスクリプトにはgen_serverは必要ありません。

あなたがここにOSとの相互作用についての詳細を調べることができます:http://elixir-lang.org/docs/stable/elixir/System.html#content、あなたはここでエリクサースクリプトの話題にもう少し見ることができます:http://elixir-lang.org/getting-started/introduction.html#running-scripts

関連する問題