Hello,

 Been catching up on threads, and it seems that one thing did not come up 
during the really long discussions: conditional segment.

let Usage = """
    Tool X
      -i  specify input file
      -o specify output file
#if SOME_OS
      -c magic conversion
#endif
    """

Since the #if/#endif, unlike C (which is way to permissive), cannot be used 
everywhere, such thing is likely current impossible. The limitation of 
#if/#endif is so "strict" that, based on the single double quote string 
behaviour, to achieve the desired result one have to duplicate the immutable or 
convert it to a mutable (even though the content is immutable)

var Usage = """
    Tool X
      -i  specify input file
      -o specify output file
    ''""
#if SOME_OS
Usage = Usage + """
      -c magic conversion
    """
#endif

Debating over the need of supporting conditional section is likely too late in 
the play, but rating this point may allow provisioning to be done to allow this 
in the future without breaking code.

The currently accepted version of SE-0168, seems to allow the closing triple 
double-quote to be in the first column, which would prevent the use of 
#if/#endif, but for all other cases an under-indented #if/#endif line is 
supposed to be considered as malformed and rejected (warning raised). So, in 
theory it could be interpreted properly as #if/#endif

If interpreting the under-indented line for #if/#endif seems acceptable, the 
interpretation could be also extended to comments.

Regards,
Dany
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to