
前回は、時にselfになったりSelfになったりする「ヤバイ奴」selfを少し勉強してみました。しかし、まだまだ分からないことだらけです。直ぐにCかPythonを連想してしまう年寄りには意味不明な記述をまた見つけました。self.0。なんですかこれは? 構造体の特定形式向けにトレイトを実装したら現れてきます。
デバイス作る人>>デバイス使う人>>デバイスおたく
前回は、時にselfになったりSelfになったりする「ヤバイ奴」selfを少し勉強してみました。しかし、まだまだ分からないことだらけです。直ぐにCかPythonを連想してしまう年寄りには意味不明な記述をまた見つけました。self.0。なんですかこれは? 構造体の特定形式向けにトレイトを実装したら現れてきます。
テキトーに書いても走る(走ったように見える)言語もあれば、走る前に阻止される言語もあります。どうもRustは後者であるようです。Rustでの文字列のとり扱いを始めましたが、Cの文字列に慣れた頭でいると、いろいろ転換せねばなりませぬ。文字列を配列とみて添え字でアクセスするような方法は禁止じゃと。 “やっつけな日常(32) Rustに入ればRustに従え、文字列操作、おっかなびっくり その1” の続きを読む
所有あれば借用もあり。Rust言語は現実的です。前々回は「特定のトレイトの標準的な実装」を継承することで構造体のクローンを作ってみました。クローンは元の構造体とは別な実体なので所有権も別、後はご勝手。その一方、今回は所有権を「借用」して、構造体を参照するどころか書き換えまでやってみます。やればできる!ホントか?
別シリーズでArmの64bitのアセンブリ言語命令を練習中。これにAndroidスマホ使ってました。でも最近スマホの電池の減りが速くて練習しずらいです(You tubeのせい。)そこで32ビットOSで引っ張っているRaspberry Pi 4を64ビットOSに移行しようと決断。簡単ではあるけれどいろいろあるんだ。
前回はRust言語のヒープ管理が「クセが強い」みたいな事を書いてしまいました。「クセが強い」ことでは、Go言語のヒープ管理も負けてない、と思います(個人の感想です。)「ヒープ・エスケープ」という技?を最初みたときには、これは何?と結構驚きました。伝統的なC言語ではやっちゃいけない(やったらひどいことになる)ことがOK。 “やっつけな日常(25) Goに入ればGoに従え、そんなこと出来るの?ヒープ・エスケープ” の続きを読む
前回は、ラズパイ4にRust言語インストールしてお試しを始めました。今回はWSL1上のUbuntuでRust言語の「核心」メモリ管理をちと触ってみたいと思います。「クセが強い」感じがしてます。けれどもそのクセの背後には安全な操作を担保するための慮りが入っている、らしいです。受け売り。まあトレーニングあるのみ。 “やっつけな日常(24) Rustに入ればRustに従え、メモリの管理、独特、でも安全かも。” の続きを読む
ラズパイのI2Cバスを5V化した先に接続してあるIO Expander MCP23017、いままで全ビット出力設定でした。今回から入力ビットを「混ぜられる」ようにしたいと思います。本当は1ビット毎に方向設定可能なのですが、テスト用のコードを書くのがメンドイのでPortA/Bの8ビット単位で設定できるようにしてみました。 “やっつけな日常(22) ラズパイ、IO Expander制御、入力モード追加” の続きを読む
前回、ラズパイ3機のI2Cバスを5V化した先に接続したIO Expander MCP23017の動作確認をPython使って行いました。今回はIO Expanderの持つA、B2つの8ビットポートのうちAポートについて、ブラウザに表示されているNode-REDダッシュボードから点灯/消灯操作を出来るようにしてみました。 “やっつけな日常(21) NodeRedダッシュボードからIO Expander制御” の続きを読む