Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

2022-05-01から1ヶ月間の記事一覧

Rust 参照の分配(destructuring)のパターンのメモ

参照の分配 クロージャの引数のところ https://doc.rust-jp.rs/book-ja/ch18-03-pattern-syntax.html?highlight=Point#%E5%8F%82%E7%85%A7%E3%82%92%E5%88%86%E9%85%8D%E3%81%99%E3%82%8BVS Code が教えてくれる書き方の中に、クロージャの引数部分で、|&x| …

Rust で自動でデリファレンスされるやつのメモ2

https://doc.rust-jp.rs/book-ja/ch05-03-method-syntax.html#-%E6%BC%94%E7%AE%97%E5%AD%90%E3%81%AF%E3%81%A9%E3%81%93%E3%81%AB%E8%A1%8C%E3%81%A3%E3%81%9F%E3%81%AE Rustには->演算子の代わりとなるようなものはありません; その代わり、Rustには、 自…

Rust で Vector の先頭の要素を取り出したり押し込んだりするときは VecDeque を使う

通常の Vector では push() と pop() しかなくて、いずれも配列の最後の要素に対してしか操作できない。先頭の要素を取り出したり、要素を押し込んだりするためには、std::collections::VecDeque を使うのが良いようだ。 (Ruby の Array#shift とか Array#u…

Rust のトレイトとかトレイトオブジェクトとかサブトレイトとかジェネリクスのときのトレイトのやつのメモ

いろいろ試したメモ。なんとかぼんやりと理解できてきた。

Rust で複数の要素をキーとしてソートする

メモ。 配列の配列があり、1個目の要素を第一キー、2個目の要素を第二キーとしてソートする。 Perl だと sort { $a->[0] $b->[0] or $a->[1] $b->[1] } @array のやつ。 Ruby だと array.sort! {|a, b| [a[0], a[1]] [b[0], b[1]] } のやつ。 fn main() { …

Rust で関数から trim した &str を返したかった

以下はコンパイルエラーになる。 fn main() { let foo = foo(); println!("{}", foo); } fn foo() -> &str { let m = String::from("aiueo"); m.trim() } error[E0106]: missing lifetime specifier --> src\main.rs:6:13 | 6 | fn foo() -> &str { | ^ expe…

Rust の構造体の分配(destructuring)などのパターン記法のメモ

その1 変数を構造体のインスタンスから生成することができるとのこと。 https://doc.rust-jp.rs/book-ja/ch18-03-pattern-syntax.html#%E5%88%86%E9%85%8D%E3%81%97%E3%81%A6%E5%80%A4%E3%82%92%E5%88%86%E8%A7%A3%E3%81%99%E3%82%8B ↑これのやつ。 struct …

Rust で println!("{}", x) で参照が自動的にデリファレンスされるやつと std::fmt::Display のやつのメモ

std::fmt::Display のやつ println!("{:?}", x) で表示させるには derive(Debug) をしておけばよいが、println!("{}", x) では std::fmt::Display トレイトを実装している必要があるようだ。 #[derive(Debug)] struct MyStruct(i32); fn main() { let s = My…

Rust で画像のリサイズをやってみたメモ(サムネイルを作るやつ)

Rust で画像のリサイズ(ほとんどの場合縮小だと思うけど)をやってみたメモ。 Cargo.toml [dependencies] image = "0.24.2" main.rs use image::GenericImageView; use image::imageops::FilterType; fn main() { let img = image::open("original.png").un…

Unity で Windows でウィンドウが最前面(TOPMOST)に表示し続けるアプリを作る

C# スクリプト内で Win32 API を操作することで実現できるよというメモ。 using System.Runtime.InteropServices をする DllImport で必要な関数をインポートする(static extern をつける) https://docs.microsoft.com/ja-jp/dotnet/csharp/language-refer…

Unity でカメラを移動追従させるのに Position Constraint を使う

ユニティちゃん神楽で使われていたのを見て知ったのでメモ。 unity-chan.comPosition Constraint コンポーネントをカメラにアタッチした図 カメラに Position Constraint コンポーネントをアタッチして、Sources に追従対象のオブジェクトを追加すると、オブ…

Windows で Rust の SystemTime の interval のやつとかのメモ

Rust のシステム時刻についてメモ fn main() { let now = std::time::SystemTime::now(); println!("now: {:?}", now); // => now: SystemTime { intervals: 132966473691539291 } } Windows で std::time::SystemTime::now() すると、SystemTime インスタン…

2021 年に買ってよかったものは静音マウスです

https://www.buffalo.jp/product/detail/bsmbu100bk.html たまたま買った安いマウスだったけど、あのマウス特有の、カチッカチッ みたいなクリック音がしなくて、なかなか良い感じ。ただ代わりに テコ...テコ...という低い音は鳴る。無音ではない。マイクに拾われなく…

Unity で、オブジェクトが持つアニメーションクリップすべてを C# スクリプトで取得する

選択中のオブジェクトの Animator ウィンドウ内に置いたアニメーションクリップたち全部を C# スクリプト内で一気に取得したい。 void Start() { TryGetComponent<Animator>(out var anim); AnimationClip[] animClips = anim.runtimeAnimatorController.animationClip</animator>…

bvh を fbx に変換する。Blender の Python を使う。Blender の background モードで bat で動かす。

bvh ファイルを fbx に変換したくて、見よう見まねでやってみたメモ。 Windows 10 blender をインストールする blender コマンドが使えることを確認 入力の bvh ファイルたちがあるフォルダは bat ファイル内に記述 出力の fbx たち用のフォルダは python ス…

アニメーション GIF を再生しないようにした

動画なら自分で再生ボタンを押すことで制御できるけど、アニメーション GIF だと再生(と言っていいのかわからないが)が延々と続いていて、ページ内の情報のノイズになっているなと思っていた。ふとググってみたら、設定でアニメーション GIF を再生しない…