「+」で生成された正方形を取得したいのですが、これが私の考えです。
たとえば、n = 4なので、次のように4x4の正方形が文字列として返されると思います。
++++
++++
++++
++++
これが私のコードです。.split()の後、空の配列を取得しました。理由はわかりません。
fn generate_square(n: i32) -> String {
"+".repeat((n * n) as usize) //got all "+"
.split(&*"+".repeat(n as usize)).collect::<Vec<&str>>() //got empty, why?
.join("\n").trim_end().to_string()
}
私はあなたが何をするのか誤解していると思いますsplit
。
split
指定したパターンのインスタンスを検索し、応答後に部分文字列を返します。それらのパターンの前(つまり、パターンを含まない)。つまり+
、文字列「++++
」で「」を検索すると、「」の間に実際の文字がないため、部分文字列しか取得できません+
。つまり、この場合、5つの空の文字列を取得します。
つまり、本当に文字列全体を生成してからそれを細分化したい場合は、split_at
(または他の)試行することができます。ただし、実行する内容によっては、モノを1行ずつ生成する方が簡単な場合があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加