回答編集履歴

5

ソース修正

2019/03/07 01:08

投稿

hogefugapiyo
hogefugapiyo

スコア3302

test CHANGED
@@ -46,9 +46,9 @@
46
46
 
47
47
  // 引数でもらった文字列の文字数分繰り返し
48
48
 
49
- for (int i = 0; i < msg.Length; i++) {
49
+ for (int i = 0; i <= msg.Length; i++) {
50
50
 
51
- var outputText = msg.Substring(0, i+1); // 先頭からi+1文字目を切り出す
51
+ var outputText = msg.Substring(0, i); // 先頭からi文字目を切り出す
52
52
 
53
53
  messagewindow.text = outputText; // テキストに反映
54
54
 

4

文字数ではなくインデックス番号だったため

2019/03/07 01:07

投稿

hogefugapiyo
hogefugapiyo

スコア3302

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ``daihon.Substring(3);`` だとdaihonのインデックス番号3から最後までを切り出します。
6
6
 
7
- 先頭からn文字目まで切り出したい場合などは、``daihon.Substring(0,n)`` でインデックス番号0(先頭)からインデックス番号nまでと引数2つ使って明示的に指定してあげると良さそうです。
7
+ 先頭からインデックス番号nまで切り出したい場合などは、``daihon.Substring(0,n)`` でインデックス番号0(先頭)からインデックス番号nまでと引数2つ使って明示的に指定してあげると良さそうです。
8
8
 
9
9
 
10
10
 

3

文字数ではなくインデックス番号だったため

2019/03/07 01:02

投稿

hogefugapiyo
hogefugapiyo

スコア3302

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ``daihon.Substring(3);`` だとdaihonのインデックス番号3から最後までを切り出します。
6
6
 
7
- 先頭から3文字目まで切り出したい場合は、``daihon.Substring(0,3)`` でインデックス番号0(先頭)からインデックス番号3と引数2つ使って明示的に指定してあげると良さそうです。
7
+ 先頭からn文字目まで切り出したい場合などは、``daihon.Substring(0,n)`` でインデックス番号0(先頭)からインデックス番号nまでと引数2つ使って明示的に指定してあげると良さそうです。
8
8
 
9
9
 
10
10
 

2

文字数ではなくインデックス番号だったため

2019/03/07 01:01

投稿

hogefugapiyo
hogefugapiyo

スコア3302

test CHANGED
@@ -1,10 +1,10 @@
1
- 1文字ずつ削れていくっていうのは``Substring``の引数が1個だけなのでn文字目から最後まで切り取る感じになっているからじゃないでしょうか。
1
+ 1文字ずつ削れていくっていうのは``Substring``の引数が1個だけなのでインデックス番号n(n+1文字目から最後まで切り取る感じになっているからじゃないでしょうか。
2
2
 
3
3
 
4
4
 
5
- ``daihon.Substring(3);`` だとdaihonの3文字目から最後までを切り出します。
5
+ ``daihon.Substring(3);`` だとdaihonのインデックス番号3から最後までを切り出します。
6
6
 
7
- 先頭から3文字目まで切り出したい場合は、``daihon.Substring(0,3)`` で0(先頭)から3文字目と引数2つ使って明示的に指定してあげると良さそうです。
7
+ 先頭から3文字目まで切り出したい場合は、``daihon.Substring(0,3)`` でインデックス番号0(先頭)からインデックス番号3と引数2つ使って明示的に指定してあげると良さそうです。
8
8
 
9
9
 
10
10
 
@@ -112,7 +112,7 @@
112
112
 
113
113
  if (n <= daihon.Length) {
114
114
 
115
- string k = daihon.Substring(0, n); // 引数1で0、つまり文字列の先頭を指定
115
+ string k = daihon.Substring(0, n); // 引数1でインデックス番号0、つまり文字列の先頭を指定
116
116
 
117
117
  Text messagewin = GetComponent<Text>();
118
118
 

1

ソース修正

2019/03/07 01:00

投稿

hogefugapiyo
hogefugapiyo

スコア3302

test CHANGED
@@ -1,10 +1,14 @@
1
- コルーチン使ったほうがスムーズにいきそうなのでそっちで書いたらどうなるかとやってみました。
2
-
3
- テスト環境で、Textにアタッチしたの自身のTextコンポーネント対し更新をけてます
1
+ 1文字ずつ削れていくっていうの``Substring``引数が1個だけなのでn文字目から最後まで切り取る感じなっいるらじゃなでしょうか
4
2
 
5
3
 
6
4
 
7
- 1文字ずつ削れていくっていうのはSubstringの引数が1個けなでn文字目から最後まで切り取る感じになっているからじゃないでょうか
5
+ ``daihon.Substring(3);`` とdaihon3文字目から最後まで切ります
6
+
7
+ 先頭から3文字目まで切り出したい場合は、``daihon.Substring(0,3)`` で0(先頭)から3文字目と引数2つ使って明示的に指定してあげると良さそうです。
8
+
9
+
10
+
11
+ コルーチン使ったほうがスムーズにいきそうなのでそっちで書いてみたサンプルと、提示されたコードを修正したもの2つを載せておきます。
8
12
 
9
13
 
10
14
 
@@ -122,7 +126,7 @@
122
126
 
123
127
 
124
128
 
125
- }
129
+ }
126
130
 
127
131
 
128
132