GnuSmalltalkUsersGuide:BaseChapter 081
- Fraction
Fraction
네임스페이스 Smalltalk에 정의됨
슈퍼클래스: Number
범주: 언어-데이터 타입
- 나는 p와 q가 정수인 형태로 된 유리수를 표현한다. 분수에서 산술 연산 *, +, -, /은 모두 축소된 분수(reduced fraction)을 리턴한다.
Fraction 클래스: 변환하기
coerce: aNumber
Fraction으로 변환된 aNumber를 응답하라.
Fraction 클래스: 인스턴스 생성
initialize
수신자의 클래스 변수를 초기화하라.
numerator: nInteger denominator: dInteger
fraction의 새 인스턴스를 응답하라 (nInteger/dInteger).
Fraction: 접근하기
denominator
수신자의 분모를 응답하라.
numerator
수신자의 분자를 응답하라.
Fraction: 산술
* aNumber
두 숫자를 곱하여 결과를 응답하라.
+ aNumber
두 숫자를 합하여 결과를 응답하라.
- aNumber
수신자로부터 aNumber를 제하여 결과를 응답하라.
/ aNumber
수신자를 aNumber로 나누어 결과를 응답하라.
// aNumber
음의 무한으로 자름(truncation)을 이용해 수신자를 aNumber로 나눈 정수 몫을 리턴하라.
\\ aNumber
수신자를 aNumber로 나눈 나머지값을 리턴하라 (//를 이용).
estimatedLog
(self abs floorLog: 10)의 추정값(estimate)을 응답하라.
Fraction: 강제 유형 변환하기
ceiling
수신자를 양의 무한대로 자르고 그 결과를 리턴하라.
coerce: aNumber
aNumber를 수신자의 클래스로 강제 유형 변환(coerce)하라.
floor
수신자를 음의 무한대로 자르고 그 결과를 리턴하라.
generality
수신자의 범용성(generality)을 리턴하라.
truncated
수신자를 자르고 그 결과를 리턴하라.
unity
1을 수신자의 클래스로 강제 유형 변환(coerce)하라.
zero
0을 수신자의 클래스로 강제 유형 변환(coerce)하라.
Fraction: 강제 유형 변환
asCNumber
수시자를 C call-out 메커니즘이 이해하는 유형의 숫자로 변환하라.
Fraction: 비교하기
< arg
수신자가 arg보다 작은지를 검사하라.
<= arg
수신자가 arg보다 작거나 같은지를 검사하라.
= arg
수신자가 arg와 같은지를 검사하라.
> arg
수신자가 arg보다 큰지를 검사하라.
>= arg
수신자가 arg보다 크거나 같은지를 검사하라.
hash
수신자에 대한 해시값을 응답하라.
Fraction: 변환하기
asFloatD
FloatD 로 변환된 수신자를 응답하라.
asFloatE
FloatD 로 변환된 수신자를 응답하라.
asFloatQ
FloatD 로 변환된 수신자를 응답하라.
asFraction
이미 Fraction에 해당하는 수신자를 응답하라.
integerPart
Fraction으로 표현된 수신자의 정수 부분을 응답하라.
Fraction: 최적화된 사례
negated
부호(sign)가 변경된 채로 수신자를 리턴하라.
raisedToInteger: anInteger
self의 anInteger 거듭제곱값을 리턴하라.
reciprocal
수신자의 역수(reciprocal)를 리턴하라.
squared
수신자의 제곱(square)을 리턴하라.
Fraction: 인쇄하기
printOn: aStream
수신자의 표현을 aStream 상에 인쇄하라.
storeOn: aStream
수신자로 컴파일하는 스몰토크 코드를 aStream 상에 보관하라.
Fraction: 검사하기
isRational
수신자가 유리수(rational)인지 응답하라 - true