質問するログイン新規登録

回答編集履歴

1

リンク先を間違えたため修正 (`Index` → `SliceIndex`)

2021/07/04 08:31

投稿

qryxip
qryxip

スコア86

answer CHANGED
@@ -1,4 +1,4 @@
1
- ご提示のPythonコードであれば、このように記述することもできます。ただしPythonとは違い、Rustの`[T]`, `[T; N]`, `Vec<T>`に[対する添字](https://doc.rust-lang.org/stable/std/ops/trait.Index.html)は範囲外だと[パニック](https://doc.rust-jp.rs/book-ja/ch09-01-unrecoverable-errors-with-panic.html)が発生することに注意してください。
1
+ ご提示のPythonコードであれば、このように記述することもできます。ただしPythonとは違い、Rustの`[T]`, `[T; N]`, `Vec<T>`に[対する添字](https://doc.rust-lang.org/stable/std/slice/trait.SliceIndex.html)は範囲外だと[パニック](https://doc.rust-jp.rs/book-ja/ch09-01-unrecoverable-errors-with-panic.html)が発生することに注意してください。
2
2
 
3
3
  ```rust
4
4
  let a/*: [i32; 3]*/ = [0, 1, 2];
@@ -30,7 +30,7 @@
30
30
  let _ = a[range];
31
31
  ```
32
32
 
33
- もう一つ大きな違いとしては、[[]の中に入れられる範囲](https://doc.rust-lang.org/stable/std/ops/trait.Index.html)は`step`のような情報を持ちません。stepしたい場合は[イテレータで解決する](https://doc.rust-jp.rs/book-ja/ch13-02-iterators.html)必要があります。
33
+ もう一つ大きな違いとしては、[[]の中に入れられる範囲](https://doc.rust-lang.org/stable/std/slice/trait.SliceIndex.html)は`step`のような情報を持ちません。stepしたい場合は[イテレータで解決する](https://doc.rust-jp.rs/book-ja/ch13-02-iterators.html)必要があります。
34
34
 
35
35
  ```rust
36
36
  let a = [1, 2, 3, 4, 5];