動機
環境
諸事情でアプデしてない...
julia> versioninfo() Julia Version 1.1.1
やっていく
呼びたい関数が一つの場合
julia> # press ] here (v1.1) pkg> add Fire ~$ vim dekiraa.jl
文字列を受け取って表示してみる(※関数が一つの場合)
dekiraa.jl
を次のように書く(Fire.jl
は@main
を見ていく)
using Fire @main function dekiraaaa(name) println(name,"でCLIをつくる?出来らぁ!!") end
セーブして
~$ julia dekiraa.jl Julia言語 ~$ Julia言語でCLIをつくる?出来らぁ!!
できた
複数の関数呼びたい場合
funcs.jl
を次のように書く
using Fire @main function add(num::Integer...) println("足し算します :",num) println(sum(num)) end @main function multiple(num::Integer...) println("全部かけます :", num) a = 1 for i in num a = a * i end println(a) end @main function is_palindrome(str::String) reversed_str = join(reverse(split(str,"")),"") if reversed_str == str println("こ、これは...回文だああああ┗(^o^ )┓三ドコドコドコ┗(^o^)┛三┏( ^o^)┛") else println("回文ではないですね (´・ω・`)") end end
※複数の関数を定義した場合,その関数を指定しなければ動かない
なのでまず定義した関数を次のコマンドで取得する(覚えてれば必要ないです)
~$ julia funcs.jl --help See --help of each command for usages add multiple is_palindrome
さらに細かく見る場合は
julia funcs.jl is_palindrome --help No documentation found. (定義した場所等うんぬんの文章) Positional Arguments: str: String
確認してみる
~$ julia funcs.jl is_palindrome たけやぶやけた こ、これは...回文だああああ┗(^o^ )┓三ドコドコドコ┗(^o^)┛三┏( ^o^)┛ ~$ julia funcs.jl is_palindrome あいうえお 回文ではないですね (´・ω・`)
できた
感想等
これとZygoteでコマンドライン関数電卓ができそうなのでいずれやります
参考URL
Building A CLI(Command Line Interface ) in Julia with Fire jl [2019]