GnuSmalltalkUsersGuide:BaseChapter 089
- Integer
Integer
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Number
범주: 언어-데이터 타입
- 나는 GNU Smalltalk 시스템에서 추상적 정수 클래스이다. 나의 서브클래스의 인스턴스들은 다양한 크기로 된 부호가 있는 정수를 다양한 효율성으로 나타낸다 (서브클래스는 크기에 따라 선택된다).
Integer 클래스: 변환하기
coerce: aNumber
Integer 종류로 변환된 aNumber를 응답하라.
Integer: 접근하기
denominator
'1'을 응답하라.
numerator
수신자를 응답하라.
Integer: 기본
hash
수신자에 대한 해시값을 응답하라.
Integer: bit 연산자
allMask: anInteger
anInteger 내의 모든 1 비트들이 수신자 내에서 1인 경우 true이다.
anyMask: anInteger
AnInteger 내의 어떠한 1 비트라도 수신자 내에서 1인 경우 true이다.
bitAt: index
수신자의 index번째 비트를 응답하라 (LSB는 1의 색인을 갖는다)
bitAt: index put: value
수신자와 같은 정수를 응답하되, 두 번째 매개변수의 가장 낮은 비트와 같은 값일 것으로 가정하는 수신자의 index번째 비트는 (1의 색인을 갖는 LSB) 예외로 한다.
bitClear: aMask
수신자와 같은 Integer를 응답하되, aMask 내의 집합에 해당하는 모든 비트는 비워야한다.
bitInvert
수신자의 비트에 대한 1의 보수(complement)를 리턴하라.
clearBit: index
수신자의 index 번째 비트를 비우고 새 Integer를 응답하라.
highBit
수신자의 가장 높은 순서 1 비트의 색인을 리턴하라.
isBitSet: index
수신자의 index 번째 비트가 집합인지 응답하라.
lowBit
수신자의 가장 낮은 순서 1 비트의 색인을 리턴하라.
noMask: anInteger
anInteger 내의 어떤 1비트도 수신자에서 1이 아닌 경우 true를 응답하라.
setBit: index
수신자의 index 번째 비트를 설정하고 새 Integer를 응답하라.
eger: 변환하기
asCharacter
self를 Character 또는 UnicodeCharacter 객체로서 리턴하라.
asFraction
분수로 변환된 수신자를 리턴하라.
asScaledDecimal: n
ScaledDecimal 객체로 변환된 수신자를 응답하라. Scale은 강제로 0이 된다.
ceiling
수신자를 리턴하라 - 이미 절단되어 있다.
coerce: aNumber
aNumber를 수신자의 클래스로 강제 유형 변환(coerce)하라..
floor
수신자를 리턴하라 - 이미 절단되어 있다.
rounded
수신자를 리턴하라 - 이미 절단되어 있다.
truncated
수신자를 리턴하라 - 이미 절단되어 있다.
Integer: 확장
alignTo: anInteger
anInteger의 가장 높은 또는 동일한 배수로 절단된 수신자를 응답하라 (2제곱일 것이다).
Integer: 반복자
timesRepeat: aBlock
수신자의 값과 같은 배수만큼 aBlock를 평가하라. 임시변수(temporaries) 없이 인자가 없는 aBlocks에 대해서는 인라인으로 컴파일되므로 오버라이드 불가.
Integer: 수학 메서드
binomial: anInteger
수신자에 의해 주어진 다수의 객체들 중 anInteger 객체의 조합 수를 계산하라.
ceilingLog: radix
(self log: radix) 상한값(ceiling)을 응답하라. 정수를 응답하기에 최적화되었다.
estimatedLog
(self abs floorLog: 10)의 추정값(estimate)을 응답하라.
even
수신자의 짝수 여부를 리턴하라.
factorial
수신자의 계승(factorial)을 리턴하라.
floorLog: radix
(self log: radix) 하한값(floor)을 응답하라. 정수를 응답하기에 최적화되었다.
gcd: anInteger
수신자와 anInteger의 최대공약수를 리턴하라 (Euclid의 알고리즘).
lcm: anInteger
수신자와 anInteger의 최소공배수를 리턴하라.
odd
수신자의 홀수 여부를 리턴하라.
Integer: 인쇄하기
displayOn: aStream
수신자의 밑(base) 10 표현을 aStream 상에 인쇄하라.
displayString
수신자의 밑(base) 10 표현을 리턴하라.
isLiteralObject
수신자를 스몰토크 리터럴로 표현 가능한지 응답하라.
printOn: aStream
수신자의 밑(base) 10 표현을 aStream 상에 인쇄하라.
printOn: aStream base: b
수신자의 밑(base) b 표현을 aStream 상에 인쇄하라.
printString
수신자의 밑(base) 10 표현을 리턴하라.
printString: baseInteger
수신자의 밑(base) b 표현을 리턴하라.
printStringRadix: baseInteger
수신자의 밑(base) b 표현 앞에 BBr을 붙여 리턴하라.
radix: baseInteger
수신자의 밑(base) b 표현 앞에 BBr을 붙여 리턴하라. 이 메서드는 더 이상 사용되지 않으므로 대신 #printStringRadix: 를 사용하라.
storeLiteralOn: aStream
수신자로 컴파일하는 일부 스몰토크 코드를 aStream 상에 보관하라.
storeOn: aStream base: b
밑(base) b에 표현된 수신자로 컴파일하는 스몰토크 코드를 aStream 상에 인쇄하라.
Integer: 보관하기
storeOn: aStream
수신자의 밑(base) 10 표현을 aStream 상에 인쇄하라.
storeString
수신자의 밑(base) 10 표현을 리턴하라.
Integer: 기능 검사하기
isInteger
항상 'true'를 응답하라.
isRational
수신자가 유리수(rational)인지 응답하라 - true