annotate Assets/Application/Scripts/Test/FunctorTest.cs @ 13:e297afe0889d default tip

Add Prefab.
author Kazuma Takeda
date Tue, 07 Feb 2017 20:49:26 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
1 using System.Collections;
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
2 using System.Collections.Generic;
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
3 using UnityEngine;
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
4
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
5 public class FunctorTest : MonoBehaviour {
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
6
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
7 private List<int> list = new List<int>(){ 1, 2, 3, 4, 5 };
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
8 private List<string> slist = new List<string>() { "Hello", "World" };
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
9
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
10 private void Start () {
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
11 System.Func<int, int> f = (int arg) => {
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
12 return arg * 2;
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
13 };
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
14
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
15 list = Functor.map (f, list);
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
16
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
17 print (getString (list));
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
18
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
19 System.Func<string, string> fs = (string arg) => {
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
20 return arg + "(ΦωΦ)";
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
21 };
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
22
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
23 slist = Functor.map (fs, slist);
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
24
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
25 print (getString(slist));
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
26 }
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
27
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
28 private string getString<T> (List<T> l) {
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
29 string s = "[";
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
30 foreach (T n in l) {
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
31 s += n + ", ";
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
32 }
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
33 s = s.Remove (s.Length - 1);
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
34 s += "]";
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
35 return s;
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
36 }
e297afe0889d Add Prefab.
Kazuma Takeda
parents:
diff changeset
37 }