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

回答編集履歴

2

誤字を修正

2018/01/16 22:08

投稿

Bongo
Bongo

スコア10816

answer CHANGED
@@ -1,4 +1,4 @@
1
- 文字列の加工とか解析はちょっと自がないのですが、こんなメソッドを用意してみてはいかがでしょう?
1
+ 文字列の加工とか解析はちょっと自がないのですが、こんなメソッドを用意してみてはいかがでしょう?
2
2
 
3
3
  ```C#
4
4
  using UnityEngine;

1

実行例を追加

2018/01/16 22:08

投稿

Bongo
Bongo

スコア10816

answer CHANGED
@@ -8,7 +8,7 @@
8
8
  {
9
9
  var elements = input.Trim('(', ')').Split(','); // 前後に丸括弧があれば削除し、カンマで分割
10
10
  var result = Vector3.zero;
11
- var elementCount = Mathf.Min(elements.Length, 3); // ループ回数をelementsの長さ以下かつ3以下にする
11
+ var elementCount = Mathf.Min(elements.Length, 3); // ループ回数をelementsの以下かつ3以下にする
12
12
 
13
13
  for (var i = 0; i < elementCount; i++)
14
14
  {
@@ -26,10 +26,11 @@
26
26
  Debug.Log(StringToVector3("(1, 2, 3)")); // 通常の場合 → (1.0, 2.0, 3.0)
27
27
  Debug.Log(StringToVector3("(1, 2)")); // 成分の数が足りない → (1.0, 2.0, 0.0)
28
28
  Debug.Log(StringToVector3("(1, 2, 3, 4, 5, 6)")); // 成分の数が多い → (1.0, 2.0, 3.0)
29
- Debug.Log(StringToVector3("1, 2, 3")); // 括弧がない → (1.0, 2.0, 3.0)
29
+ Debug.Log(StringToVector3("1, 2, 3")); // 括弧がない → (1.0, 2.0, 3.0)
30
30
  Debug.Log(StringToVector3("(Infinity, -Infinity, NaN)")); // 特殊な値を含む → (Infinity, -Infinity, NaN)
31
31
  Debug.Log(StringToVector3("(1.23e456, Foo, 1.23e4)")); // Xが大きすぎる、Yが無効な文字列、Zは有効な文字列 → (0.0, 0.0, 12300.0)
32
+ Debug.Log(StringToVector3("")); // 空の文字列 → (0.0, 0.0, 0.0)
33
+ Debug.Log(StringToVector3(null)); // 引数がnull → NullReferenceException: Object reference not set to an instance of an object
32
34
  }
33
35
  }
34
-
35
36
  ```