Created
June 15, 2019 09:01
-
-
Save joseoliv/d6b2a28ef6300c524d26c77d3d188435 to your computer and use it in GitHub Desktop.
Number_base
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package metaobjectTest | |
@doc{* | |
This is a literal number annotation, an identifier follows a literal | |
number. The syntax for this annotation is | |
n_base_N or n_BASE_N or n_Base_N | |
in which 'n' is a literal number in base 2 to 36 and N is the literal | |
number that is the base, in base 10. 'n' can have numbers, underscores, and letters | |
but, if it has letters, it should start with a number (otherwise the | |
compiler will consider it as an identifier). Both '_' in n_base_N are | |
optional. Of course, something like | |
0Abase_20 | |
is illegal because the compiler would consider that the metaobject name | |
is 'Abase'. The metaobject uses method | |
Integer.valueOf(n, N) | |
to parse the number 'n' in base N. | |
*} | |
object Number_base | |
func run { | |
assert 101base2 == 5; | |
assert 0FF_base_16 == 255; | |
assert 0FF_FF_BASE16 == 65535; | |
assert 11_base_8 == 9; | |
} | |
end | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment