Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


Den 10.12.2015 23:27, libreoffice-ml.mbourne@spamgourmet.com skreiv:
Kolbjørn Stuestøl wrote:
Continuing experimenting with LibreLogo.

Help for LibreLogo says that:

PRINT RANGE 3 10 3 ; print [3, 6, 9] (i.e. outputs 3, 6, 9.)

When I try it I get the output: "range (3 10 3)".
(Also "LABEL RANGE 3 10 3" and "TEXT RANGE 3 10 3" outputs "range (3 10
3)".)

I do not know Python programming. Is this the way Python handles lists?
Help call this a Python-like list generation.

It looks like the LibreLogo code is translated into Python code, and what you're seeing is a change between Python 2.7 and Python 3. In Python 2.7, range() returns a list of values, which would display as [3, 6, 9]. In Python 3, range() returns an iterable object, which will return each value in turn as you iterate over it (it doesn't actually create a list of all the values, so is more efficient for large ranges).
This means that the three PRINT examples must/should be rewritten.
To get the expected result I have to print out a list of the items created by AREA:
PRINT = LIST AREA 0 10 2
which prints "[0, 2, 4, 6, 8]" as expected.


I expected that "PRINT RANGE 0 10 2" will output every second item in
the range: 0, 2, 4, 6, 8.

In Python, you should be able to get a list by using:
  list(range(0, 10, 2))
I'm not sure how that would be done in Logo though; perhaps:
  LIST RANGE 0 10 2
following the syntax you've shown in other examples.
Yes. As you see above.


On the other hand, the function
FOR :n IN RANGE 10 101 5 [
     FORWARD :n LEFT 90
]
works as expected.

The "for" loop iterates over the iterator returned by range(), so executes the loop for each number which would have been in the list.
Yes.

Am I misunderstanding the Help for RANGE or is the Help incorrect?

Perhaps the help is out of date, or perhaps it depends which version of Python you have. I don't know whether LibreLogo includes a Python interpreter or uses one you install separately.
Whatever the reason, I think the help should be rewritten. As a translator I am able to rewrite the help in Norwegian but have no access to change the original text.

If LibreLogo use Python, it is included in the full installation. I have not installed it separately.

Thank you for your help.
Kolbjørn


Hoping I am not the only one playing with LibreLogo :-)

Kolbjørn




--
To unsubscribe e-mail to: users+unsubscribe@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.