動機
環境
諸事情でアプデしてない...
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]