🐾
Gleamでコマンドライン引数を取得する
先日バージョン1.0となったプログラミング言語Gleamを触っています。
コマンドライン引数を扱うために、 argv
というライブラリが公開されています。Erlang VM上で動作する言語だからか、コマンドライン引数もErlangで書かれたバインディングとなっているようです。
使ってみる
プロジェクトを作成し、こんなコードを書きます。
import gleam/io
import argv
pub fn main() {
argv.load()
|> io.debug()
}
コマンドライン引数をつけて実行します。
> gleam run aaa bbb
Compiled in 0.01s
Running argv_test.main
Argv("/opt/homebrew/Cellar/erlang/26.2.2/lib/erlang/erts-14.2.2/bin/erl", "/path/to/project", ["aaa", "bbb"])
「ランタイム、プロジェクトのパス、引数のリスト」の順に出力されます。
よりパラメーターを細かく設定したいときは glint
というライブラリ(RustのClapみたいなもの)がありますのでそちらを使いましょう。 argv
で取得した引数列を glint
に渡す、みたいな使い方をします。
おまけ
引数に日本語の文字列があったり、パスの途中に日本語が含まれていたりするとエラーが発生していたので修正プルリクエストを投げたら速攻でマージされました。(むしろこれを書きたかった)
Discussion