2010-11-27 14 views
6

ben bir Erlang komut satırından veya bash komut dizisi ile dosya başlatabilirsiniz:: Komut Satırı Dosya An Erl içinde Fonksiyonu Başlat

exec erl file.erl 

Ama doğrudan bir işlev başlatmak için öğrenmek gibi olamaz bu dosya içinde.

örn. muhtemelen istediğini

exec erl file.erl -f function() 

takdir herhangi bir öneriniz ...

cevap

13

Eğer örnekte orada yaptığım gibi erl komutunda erlang dosyası belirtmek asla erl -s module_name function_name

Not olduğunu. Erlang VM, kod yolundaki tüm modülleri yükler. Bu yerel dizin içerir. http://www.erlang.org/doc/man/erl.html itibaren

:

-işlemeli Mod [Func [Arg1, Arg2, ...]] (init bayrak) init belirtilen işlevini çağırmak yapar. Func varsayılan olarak başlayacak. argüman sağlanmazsa, işlevinin 0'dan itibaren olduğu varsayılır. Aksi takdirde 1 argümanı olduğu varsayılırsa [Arg1, Arg2, ...] listesinin argümanı olarak kabul edilir. Tüm argümanlar dizeleri olarak geçirilir. Bakınız init (3).

Mod -s [Func [Arg1, Arg2, ...]] (init bayrak) init belirtilen işlev çağrısı yapar. Func varsayılan olarak başlayacak. argüman sağlanmazsa, işlevinin 0'dan itibaren olduğu varsayılır. Aksi takdirde 1 argümanı olduğu varsayılırsa [Arg1, Arg2, ...] listesinin argümanı olarak kabul edilir. Tüm argümanlar atomları olarak geçirilir. Bakınız init (3).

+0

Teşekkürler Jon! Her zamanki gibi, sen de çekersin :) –

+3

Ayrıca. Bir komut satırı aracı yapıyorsanız, eskript kontrol edin. Savaş sandığında olması oldukça hoş bir araç. http://www.erlang.org/doc/man/escript.html –

+2

Ayrıca, bu işlevi, dizeler veya atomlar listesinden başka bir argümanla başlatmanız gerektiğinde '-eval 'de vardır. Oh, ve interaktif kabuğun açılmasını önlemek için '-noshell'ı eklemek isteyebilirsiniz ve fonksiyon bittiğinde Erlang'dan çıkmak için sonunda--s init stop' ekleyebilirsin. – ndim

İlgili konular