Rustで配列でループしようとして
usizeでマイナスはダメです等のエラー
しかたないのでプラスになるまで全部一旦加算して、それをあとで引くというロジックにする
再検証してみようとしたら、そのバグが発生しない
rust playgroundとCodinGameの環境が違うのだろうとおもったら
別のバグが入った時に再現しました
1) 発生 . . . 本文を読む
引き続きCodinGameのパズルで学習中
Python3で以前作ったプログラムを2本Rustに移植してみました
その1
まれにしかでないエラー メチャメチャ叱られました
反転しているオレンジの部分に問題があります rs:13:21 13行目21カラム と教えてくれています
そのプログラム
13行目の21カラム
n * y が i32 で表現 . . . 本文を読む
オセロの一手指しのような問題を解く前の下準備です
1) 文字列の連結
2) 指定位置文字の入れ替え
3) 文字列から指定1文字のカウント
4) 指定位置文字の比較
5) 変数の型表示
こんなことを検証してみました
ソースリスト
fn print_type(_: T) { println!("{}", std::any:: . . . 本文を読む
最終的な成功例
Vecリストのi番目にアクセスしようとしたところハマりました
14行目の [*i as usize]が解決法です
エラーその1
イテレータで回す時 &が必要です
エラーその2
配列にアクセスする場合 usizeという型に変換しないといけないようです
usizeが型ということを知るまで時間がかかりました(2018年の12月 . . . 本文を読む
それっぽいのがわからなかったので、自作した完成形がこちら
いろいろなところに&が入っています
*Rust 1.43.1で実行しています
失敗形がこちら
1つ取得してOKとおもって
もう1つ追加したらdataの所有権がvec_countの方に移って消滅
2度めは ないよということをエラーメッセージが物語ってくれています
素早く片付 . . . 本文を読む
3目並べ1手詰めの問題があったので作ってみました👑
正規表現などを使うのが筋のような気がしますが、関数で作ります
Rust 関数の特徴
returnは最後の行に return ; をつけないでそのものだけ記述(9行目)
随時 return 使えません
&str Stringがややこしいのです
プログ . . . 本文を読む
CodinGameでRustを使って過去に3問パズルを解いてシルバーのACHIEVEMENTをもっていました
(まったく覚えていない)
これをゴールドにしてみることに あと4問解く必要があります
https://www.codingame.com/training/easy/smoothhttps://www.codingame.com/training/ea . . . 本文を読む
(上は本家のplayground)
Rustほぼ初心者(一年ぐらい前にちょっとやった)が半日で作成したチートシート
文字列を"-"で分割してさらに先頭一文字を文字型、それ以外数値型に保存して表示
あとVecter型に文字列を追加するサンプル
borrowed value does not live long enough
変数に寿命 . . . 本文を読む
土曜にAbemaTVの将棋を見ると面白くて、プログラムに手がつかない
そこで今日はパソコンにもう一枚モニタを追加する
これでもう一画面でプログラムができるはず...
夜食にラーメンまで作ったけど
結局、見入ってしまい 今日も終わるまで手がつかない
終わってよし、何かしようとCodinGameを開いてみると
新しく課題が追加されていました
よし今回はRu . . . 本文を読む