No idea
works fine for me on WinXp (as of last post)
Whats your platform ?
Did you chk the eoln thing in both your src files and the patch file ?
Forums
Multiline strings
Re: Multiline strings
Did any multi-line string mechanism ever get implemented?
- torial
- Posts: 229
- Location: IA
Re: Multiline strings
Do you have any leanings? (Personally) I would prefer the """ syntax that Python also uses, for consistency AND for ease of copying.
- torial
- Posts: 229
- Location: IA
Re: Multiline strings
Overall I prefer triple quotes as well (single or double) but dislike the loss of indentation when the strings are flush against the left side.
I'm still finishing up some site tweaking and server maintenance. Then I plan on some fixes and a release before I return to this topic.
I'm still finishing up some site tweaking and server maintenance. Then I plan on some fixes and a release before I return to this topic.
- Charles
- Posts: 2515
- Location: Los Angeles, CA
Re: Multiline strings
So where are we with how we think this should look/behave?
Introduce """.."" for (multiiline) strings supporting all the existing 'r/ns/..' prefixes with the only difference being that the 3 quote delimiters allow multiple lines and preserve the embedded line terminators.
Have some default (clean,minimal.obvious) formatting that indents cleanly for source code appearance but does some initial wspace stripping for display?
Allow any/some other formatting ( or some switch) that specifies to display leading whitespace as is?
Support some form of embedded switch/command to allow/control alternative coding formats ?
Other?
Introduce """.."" for (multiiline) strings supporting all the existing 'r/ns/..' prefixes with the only difference being that the 3 quote delimiters allow multiple lines and preserve the embedded line terminators.
Have some default (clean,minimal.obvious) formatting that indents cleanly for source code appearance but does some initial wspace stripping for display?
Allow any/some other formatting ( or some switch) that specifies to display leading whitespace as is?
Support some form of embedded switch/command to allow/control alternative coding formats ?
Other?
- hopscc
- Posts: 632
- Location: New Plymouth, Taranaki, New Zealand
Re: Multiline strings
I haven't made final decisions regarding multiline strings except that we'll have them. Sorry, but this is not on my very short term radar right which looks something like:
-- finish web site and server work
-- fix some bugs
-- cut a release
This will have to wait.
-- finish web site and server work
-- fix some bugs
-- cut a release
This will have to wait.
- Charles
- Posts: 2515
- Location: Los Angeles, CA
Re: Multiline strings
FWIW same discussion less illumination for a different language
Java multi line strings.
FWIW I have an implementation using """ delimiters (slightly tweaked docstrings) for multiline raw strings,
(leading wspace trim and optional edge delimiters)
great for most common uses
Java multi line strings.
FWIW I have an implementation using """ delimiters (slightly tweaked docstrings) for multiline raw strings,
(leading wspace trim and optional edge delimiters)
great for most common uses
- hopscc
- Posts: 632
- Location: New Plymouth, Taranaki, New Zealand
Re: Multiline strings
/nerdzero raises this thread from the dead
I have a question (maybe it's a dumb one): Why do multiline strings need a special token to identify them? Why can't all strings be multiline? What do you guys think of the following?
This would be a syntax error because the follwing lines must be indented at least to the level of the line that opened the string.
Except for blank lines, those don't need to be indented.
And a more practical example...
I have a question (maybe it's a dumb one): Why do multiline strings need a special token to identify them? Why can't all strings be multiline? What do you guys think of the following?
class Example
def main
sample1 = 'I can start the string on the same line as the variable.
Leading indents up to the indent level of the line that opened the string are ignored.
Any further indents are included in the string.'
print sample1
sample2 =
'Since in Cobra, line continuations can be indented more than the first line,
this would also be valid syntax. None of these lines would be displayed with
leading indents.'
print _
'Here is an example with a print statement and an explicit line continutation.
Variable substituion is supported like usual.
[sample2]'
crazy = "
Of course this means, you can create some goofy stuffy unintentionally.\n
\t[sample1]\n\nBut maybe just don't do that?
"
print crazy
/#
outputs:
I can start the string on the same line as the variable.
Leading indents up to the indent level of the line that opened the string are ignored.
Any further indents are included in the string.
Here is an example with a print statement and an explicit line continutation.
Variable substituion is supported like usual.
Since in Cobra, line continuations can be indented more than the first line,
this would also be valid syntax. None of these lines would be displayed with
leading indents.
Of course this means, you can create some goofy stuffy unintentionally.
I can start the string on the same line as the variable.
Leading indents up to the indent level of the line that opened the string are ignored.
Any further indents are included in the string.
But maybe just don't do that?
/#
This would be a syntax error because the follwing lines must be indented at least to the level of the line that opened the string.
def foo
bar = 'line1
line2'
Except for blank lines, those don't need to be indented.
def foo
bar = 'line1
line3'
And a more practical example...
class Parser
def parse(fileName as String, source as String) as CobraModule
test
p = Parser()
source =
"class Hello
def main
print 'Hello, World!'"
module = p.parse('HelloTest.cobra', source)
...
body
...
- nerdzero
- Posts: 286
- Location: Chicago, IL
Re: Multiline strings
The idea was taken from Python which starts multiline strings with triple single quotes or triple double quotes.
One nice thing about a special token is that it immediately signals what's going on. The other nice thing about triple quotes is that you don't have to escape single instances of quotes inside the string such as when writing the word don't or quoting something.
I haven't forgotten about multiline strings, but as you can see from the release notes, fixes have had a higher priority. Currently, there is a bug with partial classes and debugging symbols. Also, there is the critical gap that Cobra doesn't pick up C# extension methods (which prevents effective usage of various libraries). That also ties into Cobra's method binding especially regarding overloads and will not be trivial to fix.
Back to multiline strings. There was a lot of discussion here. I have to reread it and make some decisions. But I won't be doing so until at least the above items are finished.
One nice thing about a special token is that it immediately signals what's going on. The other nice thing about triple quotes is that you don't have to escape single instances of quotes inside the string such as when writing the word don't or quoting something.
I haven't forgotten about multiline strings, but as you can see from the release notes, fixes have had a higher priority. Currently, there is a bug with partial classes and debugging symbols. Also, there is the critical gap that Cobra doesn't pick up C# extension methods (which prevents effective usage of various libraries). That also ties into Cobra's method binding especially regarding overloads and will not be trivial to fix.
Back to multiline strings. There was a lot of discussion here. I have to reread it and make some decisions. But I won't be doing so until at least the above items are finished.
- Charles
- Posts: 2515
- Location: Los Angeles, CA
Who is online
Users browsing this forum: No registered users and 18 guests