2014-11-16 18 views
4

我在ACSLogo(徽標的mac版本)中試圖遞歸程序,並且想要返回2個整數(基本上是X座標和Y座標)的列表。我無法弄清楚如何讓它返回2個值。它沒有一個問題。在LOGO中使用列表

另外,當你創建一個列表並且你想要引用它來提取一個特定索引中的值時,你似乎必須按照原樣粘貼這個列表,並且你不能用一個指定的名稱來引用它。

例子:

Item 4 [1 1 2 3 5 8 13 21] 

你不能名稱列表 「fibb」,並指它像這樣X + fibb item 4

+0

哦哇,標誌。自從Apple II/Macintosh Power PC的日子以來,就沒有見過多年來提到的那種。 – starlocke

回答

3

您可以將列表中的變量名是這樣的:

Make "locations [1 1 2 3 5 8 13 21] 

然後您可以訪問列表中的項目之一,如下所示:

Item 1 :locations 

例如,要設置一個名爲x等於第二項的變量,你可以這樣做:

Make "x (Item 2 :locations) 

其次,從兩個不同的值,使一個新的列表,你可以使用List命令,例如:

Make "location (List 1 2) 

或者,從變量:

Make "location (List :x :y) 

因此,要獲得一個xy協調出的位置的列表,然後創建一個包含xy值的新location變量,你可以這樣做:

Make "locations [1 1 2 3 5 8 13 21] 
Make "x (Item 1 :locations) 
Make "y (Item 2 :locations) 
Make "location (List :x :y) 

或者更簡單地說:

Make "locations [1 1 2 3 5 8 13 21] 
Make "location (List (Item 1 :locations) (Item 2 :locations))