やっつけな日常(34) Rustに入ればRustに従え、self.0って何?構造体とトレイト

self0EC
Joseph Halfmoon

前回は、時にselfになったりSelfになったりする「ヤバイ奴」selfを少し勉強してみました。しかし、まだまだ分からないことだらけです。直ぐにCかPythonを連想してしまう年寄りには意味不明な記述をまた見つけました。self.0。なんですかこれは? 構造体の特定形式向けにトレイトを実装したら現れてきます。

“やっつけな日常(34) Rustに入ればRustに従え、self.0って何?構造体とトレイト” の続きを読む

やっつけな日常(33) Rustに入ればRustに従え、self、Self、&self

selfSelf
Joseph Halfmoon

ちんたら勉強しているRust言語です。Exampleのソースコードを拝見していて気になるのが、selfだったり、Selfだったりする self です。Pythonのselfのような「慣用語」的お約束ではなく keyword みたいです。大文字になったり、小文字だったり、&がついたり、::がついたり一体全体これは何?

“やっつけな日常(33) Rustに入ればRustに従え、self、Self、&self” の続きを読む

やっつけな日常(32) Rustに入ればRustに従え、文字列操作、おっかなびっくり その1

train_string
Joseph Halfmoon

テキトーに書いても走る(走ったように見える)言語もあれば、走る前に阻止される言語もあります。どうもRustは後者であるようです。Rustでの文字列のとり扱いを始めましたが、Cの文字列に慣れた頭でいると、いろいろ転換せねばなりませぬ。文字列を配列とみて添え字でアクセスするような方法は禁止じゃと。 “やっつけな日常(32) Rustに入ればRustに従え、文字列操作、おっかなびっくり その1” の続きを読む

やっつけな日常(31) Rustに入ればRustに従え、お名前のお作法、いろいろあるのよ

source
Joseph Halfmoon

毎度、慣れぬRustのお作法に行く手を阻まれます。今回は変数の型を表示しようとしてハマりました。実はRustの命名規則とか、お名前、キーワードにまつわるあれこれを知らないことが多すぎたです。Rustはスネークケースと思い込んでいたら「そうではなかった」し、見知らぬ予約語も密か?に隠してあったりして。

“やっつけな日常(31) Rustに入ればRustに従え、お名前のお作法、いろいろあるのよ” の続きを読む

やっつけな日常(30) Rustに入ればRustに従え、モジュールを別ファイルにするお作法

trial2Tree
Joseph Halfmoon

時折Rust言語を使ってみては、慣れぬRustのお作法に行く手を阻まれます。今回は、関数やらモジュールやらを別ファイル(ついでに別階層)にして取り込む件。Cのようにヘッダファイルを作ったり、Makefile書いたりする必要ないですが、初心者にはあまり親切ではない気がします。やれば出来る?ホントか。

“やっつけな日常(30) Rustに入ればRustに従え、モジュールを別ファイルにするお作法” の続きを読む

やっつけな日常(29) Rustに入ればRustに従え、「所有権」を「借用」できたのね

move_borrow
Joseph Halfmoon

所有あれば借用もあり。Rust言語は現実的です。前々回は「特定のトレイトの標準的な実装」を継承することで構造体のクローンを作ってみました。クローンは元の構造体とは別な実体なので所有権も別、後はご勝手。その一方、今回は所有権を「借用」して、構造体を参照するどころか書き換えまでやってみます。やればできる!ホントか?

“やっつけな日常(29) Rustに入ればRustに従え、「所有権」を「借用」できたのね” の続きを読む

やっつけな日常(28) Raspberry Pi OS、32bit版から64bit版へ移行

Rpi4S64EC
Joseph Halfmoon

別シリーズでArmの64bitのアセンブリ言語命令を練習中。これにAndroidスマホ使ってました。でも最近スマホの電池の減りが速くて練習しずらいです(You tubeのせい。)そこで32ビットOSで引っ張っているRaspberry Pi 4を64ビットOSに移行しようと決断。簡単ではあるけれどいろいろあるんだ。

“やっつけな日常(28) Raspberry Pi OS、32bit版から64bit版へ移行” の続きを読む

やっつけな日常(27) Rustに入ればRustに従え、それにしても#deriveて何よ

source
Joseph Halfmoon

Rust言語の勉強の前回は「所有権」というRust独特の仕組みに触ってみました。今回は「所有権」に再び足をすくわれ(復習)つつ、構造体に触手?を伸ばしてみたいと思います。やっぱりというか、当然というかRustの構造体もクセが強いです。だいたいね、トレイトとか他の言語ではない用語/概念多すぎ。カッコイイんだけれども。

“やっつけな日常(27) Rustに入ればRustに従え、それにしても#deriveて何よ” の続きを読む

やっつけな日常(26) Jsに入ればJsに従え、JavaScriptの「巻き上げ」、御無体な

JavaScript

前回前々回と各言語の「クセが強い」ところを触ってます。今回はその流れでJavaScriptであります。JavaScriptの場合、使っている人が多いので「クセが強い」でなく「コモンセンス」なのかも知れません。必要に迫られてJavaScriptのコード断片をたまに書くような年寄りには御無体な感じがしないでもないデス。

“やっつけな日常(26) Jsに入ればJsに従え、JavaScriptの「巻き上げ」、御無体な” の続きを読む

やっつけな日常(25) Goに入ればGoに従え、そんなこと出来るの?ヒープ・エスケープ

memESC_Go
Joseph Halfmoon

前回はRust言語のヒープ管理が「クセが強い」みたいな事を書いてしまいました。「クセが強い」ことでは、Go言語のヒープ管理も負けてない、と思います(個人の感想です。)「ヒープ・エスケープ」という技?を最初みたときには、これは何?と結構驚きました。伝統的なC言語ではやっちゃいけない(やったらひどいことになる)ことがOK。 “やっつけな日常(25) Goに入ればGoに従え、そんなこと出来るの?ヒープ・エスケープ” の続きを読む

やっつけな日常(24) Rustに入ればRustに従え、メモリの管理、独特、でも安全かも。

ERROR02
Joseph Halfmoon

前回は、ラズパイ4にRust言語インストールしてお試しを始めました。今回はWSL1上のUbuntuでRust言語の「核心」メモリ管理をちと触ってみたいと思います。「クセが強い」感じがしてます。けれどもそのクセの背後には安全な操作を担保するための慮りが入っている、らしいです。受け売り。まあトレーニングあるのみ。 “やっつけな日常(24) Rustに入ればRustに従え、メモリの管理、独特、でも安全かも。” の続きを読む

やっつけな日常(23) ラズパイ4に Rust言語処理系をインストール。野望?は広がる

remoteVScode
Joseph Halfmoon

いろいろ試してみたい言語処理系が多数あります。つい数か月前からもGo言語の勉強始めたところです。しかし「年に新言語ひとつ」のペースではとても死ぬまでにカバーしきれない、というわけでペースアップと。今回新たにRust言語始めます。「何でもできる」言語みたいですが、食いつきポイントは「低レベル、組み込み」ができるらしい点。

“やっつけな日常(23) ラズパイ4に Rust言語処理系をインストール。野望?は広がる” の続きを読む

やっつけな日常(22) ラズパイ、IO Expander制御、入力モード追加

GPBinputCircuit
Joseph Halfmoon

ラズパイのI2Cバスを5V化した先に接続してあるIO Expander MCP23017、いままで全ビット出力設定でした。今回から入力ビットを「混ぜられる」ようにしたいと思います。本当は1ビット毎に方向設定可能なのですが、テスト用のコードを書くのがメンドイのでPortA/Bの8ビット単位で設定できるようにしてみました。 “やっつけな日常(22) ラズパイ、IO Expander制御、入力モード追加” の続きを読む

やっつけな日常(21) NodeRedダッシュボードからIO Expander制御

NodeRedDashboardEC
Joseph Halfmoon

前回、ラズパイ3機のI2Cバスを5V化した先に接続したIO Expander MCP23017の動作確認をPython使って行いました。今回はIO Expanderの持つA、B2つの8ビットポートのうちAポートについて、ブラウザに表示されているNode-REDダッシュボードから点灯/消灯操作を出来るようにしてみました。 “やっつけな日常(21) NodeRedダッシュボードからIO Expander制御” の続きを読む