모노(Mono) 업그레이드 세부 사항
유니티 3에서는 모노 런타임을 1.2.5에서 2.6으로 그리고 추가로 JavaScript와 Boo 개선사항을 업그레이드 하였습니다. 두 버전의 모든 버그 해결과 개선이외에 이 페이지에서는 몇가지 하이라이트를 나열합니다.
C# 개선사항
기본적으로 C# 3.5 과 C# 2.0의 차이점은 다음을 포함합니다:
JavaScript 개선사항
- 네배 빠른 컴파일러;
- 'extends'는 더 이상 인터페이스와 사용될 수 없으며 unityscript는 그 이유로 개선사항이 있습니다(아래를 보세요);
- 일반 콜렉션과 같은 일반 타입의 소모를 위한 추가된 지원:
var list = new System.Collections.Generic.List.<String>(); list.Add("foo");
- anonymous functions/closures에 대한 추가 지원:
list.Sort(function(x:String, y:String) { return x.CompareTo(y); });
- 파라미터와 리턴 값을 위한 타입 추론과 간략화된 람다 표현 형태 지원:
list.Sort(function(x, y) x.CompareTo(y));
- 함수 타입:
function forEach(items, action: function(Object)) { for (var item in items) action(item); }
- 타입이 추론된 javascript array 이해:
function printArray(a: int[]) { print("[" + String.Join(", ", [i.ToString() for (i in a)]) + "]"); } var doubles = [i*2 for (i in range(0, 3))]; var odds = [i for (i in range(0, 6)) if (i % 2 != 0)]; printArray(doubles); printArray(odds);
- 인터페이스 선언과 구현에 대한 추가 지원:
interface IFoo { function bar(); } class Foo implements IFoo { function bar() { Console.WriteLine("Foo.bar"); } }
- 모든 함수는 내부적으로 모두 virtual이며 그 결과'virtual'키워드는 더이상 사용되지 않으며 virtual함수가 아닌 함수의 정의를 위해 'final' 키워드가 소개되었습니다:
final function foo() { }
- Value types (structs)은 System.ValueType으로 부터 상속하여 클래스로 정의 될수 있습니다:
class Pair extends System.ValueType { var First: Object; var Second: Object; function Pair(fst, snd) { First = fst; Second = snd; } override function ToString() { return "Pair(" + First + ", " + Second + ")"; } }
Boo 개선사항
- Boo는 0.9.4버전으로 업그레이드 됨.
- 출처: 유니티코리아위키 (CC BY-NC-SA 2.0)