GnuSmalltalkUsersGuide:BaseChapter 081

From 흡혈양파의 번역工房
Jump to navigation Jump to search
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


Notes