On Sunday, January 10, 2016 at 9:26:53 AM UTC-8, Daniel Krenn wrote:
>
> On 2016-01-10 15:18, Vincent Delecroix wrote: 
> > Would better to post to sage-support. 
>
> F'up set 
>
> > What about doing the test in the console? You can also change the 
> > doctest to 
> > 
> >     m2.__repr__() 
> > 
> > that would show the traceback. 
>
> This shows that the problem is += in 
>   s += self.separator.join(E) 
> with 
>   TypeError: unsupported operand type(s) for +=: 
>   'NoneType' and NoneType' 
>
> The weird thing is, that when I put an 
>   print E 
> before that line, it magically works. 
>

Does "print E" initialize some variables or do anything relevant?

  John

 

>
> Daniel 
>
> > On 10/01/16 08:16, Daniel Krenn wrote: 
> >> I am trying to rewrite some code and have troubles with the following 
> >> code: 
> >> 
> >>          cdef str s = self.name 
> >>          if s: 
> >>              s += ' ' 
> >>          s += self.opening_delimiter 
> >>          cdef list E = list('{!r}'.format(self.get(n)) 
> >>                             for n in xrange(min(num_elts, 
> self.preview))) 
> >>          if num_elts >= self.preview: 
> >>              # PROBLEM/BUG with the following code line 
> >>              # (run doctests of this file to see) 
> >>              E.append(self.more)   # <<<<<<<<<<<<<<< here 
> >>          s += self.separator.join(E) 
> >>          s += self.closing_delimiter 
> >>          return s 
> >> 
> >> With the marked line, many doctests fail; like this: 
> >> 
> >> Failed example: 
> >>      m2 
> >> Expected: 
> >>      lazy list [8, 10, 12, ...] 
> >> Got: 
> >>      <repr(<sage.data_structures.lazy_list.lazy_list_abstract at 
> >> 0x7f684d746d40>) failed: TypeError: unsupported operand type(s) for +=: 
> >> 'NoneType' and 'NoneType'> 
> >> 
> >> Any ideas what goes wrong? (I've debugged now for over one hour and 
> have 
> >> no glue (but I am no Cython expert)). 
> >> I've also tried without the "cdef str" and "cdef list" above. The 
> >> strings self.* are defined in the corresponding .pxd 
> >> 
> >> A branch with the code is on trac: u/dkrenn/cython-str-problem-append 
> >> file sage/data_structures/lazy_list.pyx, method __repr__, line 502 
> >> 
> >> Best Daniel 
> >> 
> > 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to