From: Danny Y. <dy...@hk...> - 2002-07-08 23:43:57
|
Hi everyone, Does anyone know why triple quoted strings won't work in the interactive interpreter? ### [dyoo@tesuque dyoo]$ jython Jython 2.1 on java1.4.0 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> ''' Traceback (innermost last): (no code object) at line 0 File "<console>", line 2 SyntaxError: Lexical error at line 2, column 0. Encountered: <EOF> after : "" ### Triple quoted strings work if Jython is being run non-interactively, so it's probably something strange with the parsing of interactive expressions. I've tested this on Jython 2.1, although I haven't tried it on the CVS tree yet. Thanks for any help! |
From: Paul M. <p.m...@sn...> - 2002-07-09 01:27:20
|
----- Original Message ----- From: "Danny Yoo" <dy...@hk...> To: <jyt...@li...> Sent: Monday, July 08, 2002 7:43 PM Subject: [Jython-users] triple quoted strings don't work in the interactive interpreter? : Hi everyone, : : : Does anyone know why triple quoted strings won't work in the interactive : interpreter? : : ### : [dyoo@tesuque dyoo]$ jython : Jython 2.1 on java1.4.0 (JIT: null) : Type "copyright", "credits" or "license" for more information. : >>> ''' : Traceback (innermost last): : (no code object) at line 0 : File "<console>", line 2 : SyntaxError: Lexical error at line 2, column 0. Encountered: <EOF> after : : "" : ### : : Triple quoted strings work if Jython is being run non-interactively, so : it's probably something strange with the parsing of interactive : expressions. : You need to have the end quotes as well as the beginning quotes. For example... C:\>jython Jython 2.1 on java1.4.0 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> '''''' '' >>> |
From: David C. <dav...@su...> - 2002-07-09 01:48:57
|
Huh? I don't get a chance to enter the quote on the next line. eg Jython 2.1 on java1.4.0 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> """ Traceback (innermost last): (no code object) at line 0 File "<console>", line 2 SyntaxError: Lexical error at line 2, column 0. Encountered: <EOF> after := "" >>> Regards, David On 8/07/2002 at 9:37 PM Paul Magwene wrote: ----- Original Message ----- From: "Danny Yoo" <dy...@hk...> To: <jyt...@li...> Sent: Monday, July 08, 2002 7:43 PM Subject: [Jython-users] triple quoted strings don't work in the interactive interpreter? : Hi everyone, : : : Does anyone know why triple quoted strings won't work in the interactive : interpreter? : : ### : [dyoo@tesuque dyoo]$ jython : Jython 2.1 on java1.4.0 (JIT: null) : Type "copyright", "credits" or "license" for more information. : >>> ''' : Traceback (innermost last): : (no code object) at line 0 : File "<console>", line 2 : SyntaxError: Lexical error at line 2, column 0. Encountered: <EOF> after : : "" : ### : : Triple quoted strings work if Jython is being run non-interactively, so : it's probably something strange with the parsing of interactive : expressions. : You need to have the end quotes as well as the beginning quotes. For example... C:\>jython Jython 2.1 on java1.4.0 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> '''''' '' >>> ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Oh, it's good to be a geek. http://thinkgeek.com/sf _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users David Coldrick Senior Systems Engineer Sun ONE Products Sun Microsystems Australia Pty Ltd Level 3, 33 Berry St, North Sydney, NSW 2060 Phone: +61 (2) 9466 9647, Fax: +61 (2) 9466 1433 Mobile: +61 (404) 806 990, Email: dav...@su... |
From: Paul M. <p.m...@sn...> - 2002-07-09 02:28:41
|
----- Original Message ----- From: "David Coldrick" <dav...@su...> To: "Paul Magwene" <p.m...@sn...>; "Danny Yoo" <dy...@hk...>; <jyt...@li...> Sent: Monday, July 08, 2002 9:48 PM Subject: Re: [Jython-users] triple quoted strings don't work in the interactive interpreter? : Huh? I don't get a chance to enter the quote on the next line. eg : : Jython 2.1 on java1.4.0 (JIT: null) : Type "copyright", "credits" or "license" for more information. : >>> """ : Traceback (innermost last): : (no code object) at line 0 : File "<console>", line 2 : SyntaxError: Lexical error at line 2, column 0. Encountered: <EOF> after : "" : >>> : Ah, I misinterpretted Danny's message, I thought he was talking about any arbitrary tripple quoted string. Yes, I get the same behavior as you report - whereas CPython does the right thing. --paul |
From: Frank C. <fc...@pu...> - 2002-07-09 15:39:48
|
Tripple quoted strings evaluate to a single quote mark that is then taken literally as a quote. So if you try: print '''hi''' the interprepeter parses that to mean print 'hi' This works in both interactive and batch mode. The lexical error you see is when you are in the interpreter and type in '''. The interpreter thinks you have just asked it to evaluate ' which is indeed an error. If you had typed in '''''' then the interpreter would evaluate to '' which is valid. I find all this quoting around to be kind of humerous but it does show Python's flexibility and power. -Frank Quoting Danny Yoo <dy...@hk...>: > Hi everyone, > > > Does anyone know why triple quoted strings won't work in the > interactive > interpreter? > > ### > [dyoo@tesuque dyoo]$ jython > Jython 2.1 on java1.4.0 (JIT: null) > Type "copyright", "credits" or "license" for more information. > >>> ''' > Traceback (innermost last): > (no code object) at line 0 > File "<console>", line 2 > SyntaxError: Lexical error at line 2, column 0. Encountered: <EOF> > after > : "" > ### > > Triple quoted strings work if Jython is being run non-interactively, > so > it's probably something strange with the parsing of interactive > expressions. > > I've tested this on Jython 2.1, although I haven't tried it on the > CVS > tree yet. > > > > Thanks for any help! > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Oh, it's good to be a geek. > http://thinkgeek.com/sf > _______________________________________________ > Jython-users mailing list > Jyt...@li... > https://lists.sourceforge.net/lists/listinfo/jython-users > -- http://www.PushToTest.com for free testing tools for testing Web Services |
From: Danny Y. <dy...@hk...> - 2002-07-09 17:48:15
|
On Tue, 9 Jul 2002, Frank Cohen wrote: > Tripple quoted strings evaluate to a single quote mark that is then > taken literally as a quote. So if you try: > > print '''hi''' > > the interprepeter parses that to mean > > print 'hi' > > This works in both interactive and batch mode. > > The lexical error you see is when you are in the interpreter and type > in '''. The interpreter thinks you have just asked it to evaluate > > ' > > which is indeed an error. But triple quoted strings are supposed to allow us to type across multiple lines. In CPython, we can create a string that spans multiple lines by just typing it out between triple quotes: ### Python 2.1.1 (#1, Sep 14 2001, 17:14:00) [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-85)] on linux2 Type "copyright", "credits" or "license" for more information. >>> '''hello ... world''' 'hello\nworld' ### Jython's interactive lexer needs to wait until it sees the next triple quote before trying to evaluate the whole thing, since the string can span several lines. I tried using a continuation character to get around this, but with the same problems in interactive mode: ### [dyoo@tesuque dyoo]$ jython Jython 2.1 on java1.4.0 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> 'hello\ Traceback (innermost last): (no code object) at line 0 File "<console>", line 2 SyntaxError: Lexical error at line 2, column 0. Encountered: <EOF> after : "" ### That is, continuation lines don't continue. The interactive interpreter doesn't give me the opportunity to continue typing out the next line, and I think this is specifically an interactive issue. Hope this helps! |