[swift-users] Hexadecimal floating-point literals
Toni Suter
tonisuter at me.com
Sun Jun 26 02:50:59 CDT 2016
Hi,
I have a question regarding hexadecimal floating-point literals. According to the Lexical Structure (https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/LexicalStructure.html <https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/LexicalStructure.html>)
it is not possible to have a hex floating-point literal without the exponent. At first I thought this makes sense.
How else would the lexer / parser know if 0x123.beef is a hex floating-point literal or a hex integer literal with a property 'beef'?
However, if I define such a property on Int, it doesn’t work:
extension Int {
var beef: Int {
return 42
}
}
print(12.beef) // works
print(0b1001.beef) // works
print(0o77.beef) // works
print(0xabc.beef) // error: hexadecimal floating point literal must end with an exponent
Is this just to avoid confusion for the programmer? Or is there some other reason?
Thanks and best regards,
Toni
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160626/247e741b/attachment.html>
More information about the swift-users
mailing list