習得中 Rust で 日付順 のファイル一覧取得と php でのコマンドラインツール
Page No.2
php でも全サブフォルダ下にある全ファイルの日付逆順リストを取得するコマンドラインツール
で、ふと思いついたのが、php って確かコマンドラインでも動いたんじゃなかったか、ってこと。php がコマンドラインで使えるなら、こんなプログラムはすぐ書けるだろうから、試しにやってみるかと。ちょっと調べてみると、コマンドラインでも使えて、ファイルにプログラムを書いて、コマンドラインからそのファイルを指定して php を実行させればいいだけのこと、とのことだった。
で、さっそく作ってやってみる。これが php だと、いともあっさりとパッと結果が表示される。千以上ファイルがあっても一瞬で処理が終わる。そしてこれはやはり Rust においてのやり方が間違っているに違いないと気づく。そして、改めて metadata() を調べてみると、やはりというか、ファイルをオープンする必要などなかったということです。
結果、やはり当然のこと Rust の方が速いのだろうけれど、php でもほとんど変わらないほどの速さで表示される。ファイルの数が何万とかになれば違いがわかるほどになるのかも。
と、いうことで、その php にて作ったものが下。ちなみにこの php を実行させるコマンドラインでのコマンドは、php のフォルダにパスが通っていて、このファイルのあるフォルダにてこう。コマンドラインの引数でオプション値を渡してもよし。でなければメッセージが表示されるのでコマンドラインから入力するもよし。デフォルト値も設定してあるので、入力せずリターンキーだけで済ませてもよし。
その後、使っていて思うことであるけれど、Windows を起動してその起動回で初めてこの Rust のプログラムを動かすときは、それはもう驚くほど遅い。やはりフリーズしているのではないかと思うほど遅い。これでは使えないと思うほど遅い。二度目以降は、実にあっさりと動きとても速い。やはり、どこかやり方がおかしいのかもしれないが、待たされている間は表示されるべきメッセージさえ無いので、Rust の起動に時間がかかるのかもしれない。php の方も一度目は少し待たされることになるが、Rust ほどではない。これも待たされるのはメッセージが表示されるまでなので、やはり php 自体の起動待ちなのではないかと思われる。と、いうことで、結果、使っているのは php の方となっている。
おまけ Rust-analyzer の 変数の型や関数の引数の型のヒントを消す設定
今回のツールを作っている時に、Rust の新しいバージョンがあることを知って、さっそくバージョンアップさせた。すると、VScord で使っていた Rust 関連のプラグイン、確か RSL とか出ていたかと、が非推奨になったので、代替の Rust-analyzer を使ったほうがいい、とかなんとか表示が出ていた。まぁ、非推奨ならとさっそくその Rust-analyzer に代えてみたところ、なにやらやたらとマーキングされた文字列が多く表示されるようになった。変数の型などが表示されているのは見ればわかるけれど、知らずに初めて接した時にはすこし引いてしまった。
それにしても、ちょっとうっとうしい。はっきり言って邪魔である。ので、設定を開いてこれを表示させないようできないものかと、項目を探すこととなった。そして、それらの設定は以下の項目となる。設定のタグを出して rust で検索。スクロールさせていくと中ほどよりも少し下あたりで出てくる。消したいもののチェックを外せば表示されなくなる。なにかのショートカットキーで知りたいときだけ表示させるようにできれば便利なのだけれど。
関数の引数で設定されている型
Rust-analyzer > Inlay Hints > Parameter Hints: Enable
変数に設定されている型
Rust-analyzer > Inlay Hints > Type Hints: Enable
Post : 2022/09/11 11:45