Useful API Functions: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
Zeile 23: Zeile 23:


== [[Number API Functions | Number]] ==
== [[Number API Functions | Number]] ==

==== Literals (i.e. Constant Numbers) ====

1234
<br>16rFFAA or 0xaffe
<br>2r0101 or 0b101010
<br>NrXXX
::integer constant; decimal, hex, binary or any base N; integers may be arbitrary long
0.5
<br>1e5
<br>-1.2e-3
::float constant; actually double precision; use "q" for extra precision
(4/3)
:: a fraction (numerator / denominator)
(4+3i)
:: complex number (real part / imaginary part)

==== Arithmetic Operators ====

Notice: there are no precedence rules for binary operators ('+', '-', '*', etc.) in Smalltalk. All binary operators are evaluated left to right. Use parentheses to specify order.

''number1'' + ''number2'' => Number
<br>''number1'' - ''number2'' => Number
<br>''number1'' * ''number2'' => Number
<br>''number1'' / ''number2'' => Number
::any combination of types is possible (integer, float, fraction, complex)
<br>''number1'' // ''number2'' => Number
::truncating division (truncates towards negative infinity; i.e. the next smaller number)
<br>''number1'' \\ ''number2'' => Number
::remainder from above division
<br>''number1'' quo: ''number2'' => Number
::truncating division (truncates towards zero; same as "//" for positive numbers)
<br>''number1'' rem: ''number2'' => Number
::remainder from quo: (same as "\\" for positive numbers)

==== Math & Trigonometric Functions ====
''aNumber'' ln => Number
<br>''aNumber'' log10 => Number
<br>''aNumber'' log2 => Number
:: logarithm; by default, an error is reported for negative numbers;<br>to get a complex result, use "Complex trapImaginary:[ aNumber ln ]".

''aNumber'' sqrt => Number
:: square root; by default, an error is reported for negative numbers;<br>to get a complex result, use "Complex trapImaginary:[ aNumber sort ]".

''aNumber'' cbrt => Number
:: cubic root.

''aNumber'' exp => Number
<br>''number1'' raisedTo: ''number2'' => Number
:: exponentiation

''aNumber'' sin => Number
<br>''aNumber'' cos => Number
<br>''aNumber'' tan => Number
<br>''aNumber'' arcSin => Number
<br>''aNumber'' arcCos => Number
<br>''aNumber'' arcTan => Number
<br>''aNumber'' arcTan2 => Number
<br>''aNumber'' sinh => Number
<br>''aNumber'' cosh => Number
<br>''aNumber'' tanh => Number
::trigonometric / hyperbolic functions

==== Bitwise Operators ====

''ínteger1'' bitAnd: ''integer2'' => Integer
<br>''ínteger1'' bitOr: ''integer2'' => Integer
<br>''ínteger1'' bitXor: ''integer2'' => Integer
<br>''ínteger1'' bitShift: ''count'' => Integer
<br>''ínteger1'' leftShift: ''count'' => Integer
<br>''ínteger1'' rightShift: ''count'' => Integer
<br>''ínteger1'' bitTest: ''integer2'' => Boolean
:: bitwise operations


Reference: [http://live.exept.de/ClassDoc/classDocOf:,Number Number] and its subclasses
Reference: [http://live.exept.de/ClassDoc/classDocOf:,Number Number] and its subclasses

Version vom 26. September 2020, 02:12 Uhr

This document lists most useful (and most often needed) classes and functions. Be aware, that there are many more to be found in either the class references or via the builtin class browser.

String[Bearbeiten]

Reference: String inherits from: CharacterArray and SequenceableCollection and Collection

Collection[Bearbeiten]

Reference: Collection

Filename[Bearbeiten]

Reference: Filename

Stream[Bearbeiten]

Streams can be internal (eg. reading from a String) or external (eg. a file stream, pipe or socket).

Reference: Stream

Number[Bearbeiten]

Reference: Number and its subclasses Integer, Float, Fraction, Complex

Date & Time[Bearbeiten]



Copyright © 2014-2024 eXept Software AG