<div dir="auto"><div dir="auto">I</div><div class="gmail_quote"><div dir="ltr">Op wo 29 aug. 2018 07:53 schreef Greg Ewing <<a href="mailto:greg.ewing@canterbury.ac.nz" target="_blank" rel="noreferrer">greg.ewing@canterbury.ac.nz</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Wes Turner wrote:<br>
>     I'm going to re-write that in a pseudo-Eiffel like syntax:<br>
<br>
Maybe some magic could be done to make this work:<br>
<br>
      def __init__(self, img: np.ndarray, x: int, y: int, width: int,<br>
              height: int) -> None:<br>
<br>
          def __require__():<br>
              x >= 0<br>
              y >= 0<br>
              width >= 0<br>
              height >= 0<br>
              x + width <= pqry.opencv.width_of(img)<br>
              y + height <= pqry.opencv.height_of(img)<br>
<br>
          def __ensure__():<br>
              (self.x, self.y) in self<br>
              (self.x + self.width - 1, self.y + self.height - 1) in self<br>
              (self.x + self.width, self.y + self.height) not in self<br>
<br>
          # body of __init__ goes here...<br></blockquote></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">I have often wished we could get at the AST of a function object.</div><div dir="auto"><br></div><div dir="auto">Then we could inspect the AST and extract these magic functions.</div><div dir="auto"><br></div><div dir="auto">Stephan</div><div dir="auto"><br></div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
-- <br>
Greg<br>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" rel="noreferrer noreferrer" target="_blank">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer noreferrer noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br>
</blockquote></div></div>