目次

Rustの勉強[CLI作成編 その2]

(更新: )ぎじゅつ

はじめに

#

NO IMAGEThe Rust Programming Language 日本語版 - The Rust Programming Language 日本語版
を読んでいる

  • 変な寝かたした

今日読む場所

#

NO IMAGEコマンドライン引数を受け付ける - The Rust Programming Language 日本語版

お勉強

#

メモ

#
  • さてcliを作る
 cargo run
   Compiling minigrep v0.1.0 (/Users/ryu.aizawa/Repo/minigrep)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.38s
     Running `target/debug/minigrep`
["target/debug/minigrep"]
 cargo run needle haystack
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.00s
     Running `target/debug/minigrep needle haystack`
["target/debug/minigrep", "needle", "haystack"]
  • じゃっかん実行結果が違う気がする

  • versionの問題かな

  • そういえばJavaも引数を[]で受け取るとかあったな

  • OK書いていてわかった

    • vecからそれぞれの引数順を取得していると
    • あまりにも自然で書いていたけど{:?}って何だ
    • 本当にdebug中に使うらしい
    • {:#?}もあるらしい
Compiling minigrep v0.1.0 (/Users/ryu.aizawa/Repo/minigrep)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.41s
     Running `target/debug/minigrep test sample.txt`
Searching for test
In file sample.txt
  • 動きが理解できてきた

ベクタを出力した時に確認したように、プログラム名がベクタの最初の値、args[0]を占めているので、 添え字1から始めます。

  • まったく気がついてなかったがそうか、なるほどね
poem.txt
I'm nobody! Who are you? Are you nobody, too? Then there's a pair of us - don't tell! They'd banish us, you know. How dreary to be somebody! How public, like a frog To tell your name the livelong day To an admiring bog! 私は誰でもない!あなたは誰? あなたも誰でもないの? なら、私たちは組だね、何も言わないで! あの人たちは、私たちを追放するでしょう。わかりますよね? 誰かでいるなんて侘しいじゃない! カエルみたいで公すぎるじゃない。 自分の名を長い1日に告げるのなんて。 感服するような沼地にね!
  • プロジェクトのルートに置いてみた

まとめ

#
  • 少しずつ進んできた
  • やはり手で立ち止まって書くと細かい気付きがあるなと思った
    • vecとか忘れてたけど使って思いだすとか
  • 次ここ

NO IMAGEファイルを読み込む - The Rust Programming Language 日本語版