1. 配列とVec型 Rustの配列は, その長さが コンパイル時に 既に固定されている必要があります. 従って, 最初から長さのわかっているベクトルを扱う場合には, 例えばその長さNを const N: usize = 128; とコンパイル時定数として導入することで, 素直に配列をつくることができます. const N: usize = 128; fn main() { let x: [ f64; N ] = [ 0.; N ]; } 一方, コンパイル時には長さが決まっておらず実行時に動的に決定される場合, または実行時にコマンドライン引数として長さを与えたい場合, コンパイル時には配列の長さが決まっていない訳なので, それを配列として実現することはできません. そのような状況ではVec型 (Vectorとも) を利用しましょう. 2. Vec型の宣言と要素の追加, 参照, 削除 例えば要素が既知のi32型を要素とするVec型変数 a は let a: Vec<i32> = vec![ 0, 1, 2, 3, 4 ]; により宣言できます. あるいは, f64型を要素として持つことのできる空のVec型変数 v を宣言するには let mut v: Vec<f64> = Vec::new(); とします. いま変数 v には何も要素がないので, そこに要素を追加するには v.push(0.0) とすればよいです. 要素をpushするためには変数がmutableであることが必要です. また, Vectorの要素の型はすべて共通でなければなりません. なお, あらかじめvectorの要素数が, 例えば上限128と見当がついているのならば let mut v: Vec<f64> = Vec::with_capacity(128); とした方が高速に動作します. もちろんこの場合でも128を超えて要素を追加することは可能です. Vector v の要素の値は配列と同じく v[i] によりアクセスできます. 要素数がNのとき, 引数 i は0からN-1までの値を取り, その範囲外の要素にアクセスしようとするとpanicが引き起こされます. vector v の i 番目の要素を削除したい...