Ok, thanks for the hint! Toni
> On 26 Jun 2016, at 11:49, zh ao <[email protected]> wrote: > > I think it avoids the confusion. You can use print((0xabc).beef) instead. > > Zhaoxin > > On Sun, Jun 26, 2016 at 3:50 PM, Toni Suter via swift-users > <[email protected] <mailto:[email protected]>> wrote: > 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 > > _______________________________________________ > swift-users mailing list > [email protected] <mailto:[email protected]> > https://lists.swift.org/mailman/listinfo/swift-users > <https://lists.swift.org/mailman/listinfo/swift-users> > >
_______________________________________________ swift-users mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-users
