mut さんとシャドーイング

ミュータブルな変数。定義時のデータ型を変更できない。

let mut x = 5;
x = 6;

シャドーイング. 変数の再定義 型を変えてもよい。

let x = 39;
let x = "thank you";

ちなみにマルセル・デュシャンの便器に書いてある署名は「R.Mutt」

By Kim Traynor - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=26247205

いまだguessing_number

nvimの設定に拘泥してしまった。そろそろ本題に帰らなくては。最低でも公式のチュートリアルは終わらせなくては。
ベッドに寝っ転がった状態で腹の上にトラックポイント付き40%キーボードを置き、眼の前に27インチWQHDモニタが浮いている状態を構築したい。できるだけ楽に...。

関係ないがzshでのディレクトリ移動について。教えてもろた。
zshにおけるディレクトリ操作について ~ 基礎 & 脱コピペ ~ #Zsh - Qiita
こんなcdrという便利なものがあったとは。

cdr と打ってタブキーで選択、で行けるやん...。

nvimの設定

rustのお勉強の前にnvimの設定で無駄に苦しんだ。
ネット上のlua形式の設定を参考に寄せ集めても、根本を理解していないのでうまく行かない。
苦しみすぎたのでオールインワンパッケージ品にすがる。
github.com


自分で何とかしようと変な意地張らずに、最初からこれしとけば良かった...。
(ただそのままだとnvim立ち上げ時にたくさんエラーが出るので、
ひとつずつ潰す必要あり。)

追記:
LazyVim...最初っからここに書いてある通りに入れれば良かったという話。。。
www.lazyvim.org
ただ、これはkickstart.nvimよりもゴリゴリに押しのツオイものである。

LazyVimを入れたあと nvim を引数なし起動するとこんなんなる。ゴリゴリ。
その他メモ: github.com coralpink.github.io 自分メモ: 実験などで ~/.config/nvim を入れ替えたりしたら以下の3つをバックアップするか削除するかしてから立ち上げやう。
  • rm -rf ~/.local/share/nvim
  • rm -rf ~/.local/state/nvim
  • rm -rf ~/.cache/nvim

2年ぶり

PC環境はいつのまにかFreeBSDからubuntuにしれっと変化(へんげ)。2年ぶりにrustの勉強を再開。2年だよ、2年。
GeminiのGemのキャリアアドバイザーにrust教えてとお願いして3日ばかりやってみたが、やっぱり自分でDoc読んで勉強したほうが良さそうだ。
また中断するかもしれんけど。

【学習17日目】脱線して浮動小数点について復習

なぜコンピュータに小数を表現させるのに、あのような回りくどい子ををさせるのか、ちょっと理解できたのでメモ。
ようするに、整数と違い、数と数の間に無限に小数が含まれているので、数の数を確保することができないため。
えーっとなんだっけ。
1.23を表現するには

Rustの浮動小数点はIEEE 754 形式。
f32 = 単精度浮動小数点数では、符号部 1 ビット ・ 指数部 8 ビット ・ 仮数部 23 ビット
f64 = 倍精度浮動小数点数では、符号部 1 ビット ・ 指数部 11 ビット ・ 仮数部 52 ビット
(これはやっぱり難しいので引き続き理解するまで加筆。)

【学習16日目】3.5 制御フロー

3.5.1 if 式

fn main() {
    let number = 7;
    if number < 5 {
        println!("condition was true");
    } else {
        println!("condition was false");
    }
}

if部分は以下のようにつながっとる。

    if number < 5 {println!("condition was true");} else {println!("condition was false");}

最初の波括弧の中にも、elseの波括弧のなかもセミコロンがある。
これは取ってもエラーにならん。文を追加することに備えてのセミコロンか。