Prototype Javascript Framework – Number

이번에는 Number 클래스 입니다. Prototype에서는 Native Number 클래스를 확장하고 있습니다.


  • Number.succ을 이용해 ObjectRange 클래스와 호환됩니다.
  • 루비 스타일의 Number.times를 제공합니다.
  • Number.toColorPart, Number.toPaddedString같은 간단한 유틸리티 메서드를 제공합니다.

무엇이 가능한가? —————————————————————————————————-
[code]$R(1, 10).each(function(index) {
  // index는 1부터 10까지 증가함
});


(5).times(function(n) {
  // n은 0부터 4까지 증가함
  // 5번 실행
});


(128).toColorPart();
// -> ’80’


(10).toColorPart();
// -> ‘0a’


‘#’ + [128, 10, 16].invoke(‘toColorPart’).join(”);
// -> ‘#800a10′[/code]

Number Methods —————————————————————————————————-

abs : 숫자의 절대값을 구합니다. 양수는 양수로 음수는 양수로 변경됩니다.
[code]abs() -> Number[/code]

예제)
[code]Math.abs(-5);
//-> 5


(-5).abs();
//-> 5


(5).abs();
//-> 5[/code]

ceil : 숫자를 올림(반올림 아님) 합니다.
[code]ceil() -> Number[/code]

예제)
[code]Math.ceil(4.1);
//-> 5


(4.1).ceil();
//-> 5


(-4.1).ceil();
//-> -4[/code]

floor : 숫자를 내림 처리 합니다.
[code]floor() -> Number[/code]

예제)
[code]Math.floor(4.6);
//-> 4


(4.6).floor();
//-> 4


(-4.1).floor();
//-> -5[/code]

round : 숫자를 반올림 합니다.
[code]round() -> Number[/code]

예제)
[code]Math.round(4.5);
//-> 5


(4.5).round();
//-> 5


(4.49).round();
//-> 4


(-4.5).round();
//-> -4[/code]

succ : 현재 번호의 다음 숫자를 반환합니다.
[code]succ() -> Number[/code]

예제)
[code](5).succ();
// -> 6


$A($R(1, 5)).join(”);
// -> ‘12345’[/code]

times : 루비스타일의 0부터 n까지 증가하며 콜백 함수를 실행합니다.
[code]times(iterator) -> Number[/code]

예제)
[code]var s = ”;
(5).times(function(n) {
  s += n;
});


s
// -> ‘01234’[/code]

toColorPart : 0~255사이의 숫자를 2자리의 16진수 숫자로 반환합니다.
[code]toColorPart() -> String[/code]

예제)
[code]128.toColorPart();
// -> ’70’


10.toColorPart();
// -> ‘0a’


‘#’ + [128, 10, 16].invoke(‘toColorPart’).join(”);
// -> ‘#800a10′[/code]

toJSON : JSON형 문자열을 반환합니다.
[code]toJSON() -> String[/code]

예제)
[code](45).toJSON();
//-> ’45′[/code]

toPaddedString : 빈자리가 0으로 채워진 숫자를 반환합니다. 두번째 인자로 진수를 지정할 수 있습니다.
[code]toPaddedString(length[, radix]) -> String[/code]

예제)
[code](13).toPaddedString(4);
// -> ‘0013’


(13).toPaddedString(2);
// -> ’13’


(13).toPaddedString(1);
// -> ’13’


(13).toPaddedString(4, 16)
// -> ‘000d’


(13).toPaddedString(4, 2);
// -> ‘1101’[/code]