2016-05-19 49 views

回答

1

給出一個列表值,沒有辦法找到它的名字。

考慮這個例子:

a:={1,2,3,4} 
b:=a    ; this stores {1,2,3,4} in b 
out(b) 

1行:首先被創建{1,2,3,4}的值。然後創建名稱爲a的變量並將其值設置爲{1,2,3,4}

第2行:評估表達式a;結果是{1,2,3,4}。將創建一個名稱爲b的新變量,並將其值設置爲「{1,2,3,4}。

第3行:評估表達式b。變量引用查找b中存儲的值。結果是{1,2,3,4}。然後將該值傳遞給函數out

功能out接收數值{1,2,3,4}。給定值後,無法知道值是否存儲在變量中。這裏的值存儲在ab中。

但是我們也可以看看out({1,1,1,1}+{0,2,3,4})

系統將評估{1,1,1,1}+{0,2,3,4}並獲得{1,2,3,4}。然後調用out。值out收到了一個表達式的結果,但是等價值碰巧存儲在ab中。這意味着這些值沒有名稱。

一般而言:變量有一個名稱和一個值。值沒有名字。

如果您需要打印一個名稱,然後查看字符串。

0

這將佔用大量內存,但你可以根據中要獲取列表的變量指標保持變量名的字符串,以及一些數量的字符分隔各個名稱,並得到一個子。例如,假設你想要訪問索引0,那麼你需要一個從(變量索引*變量名稱長度,索引變量*長度+長度+1)開始的子串。 該字符串將是這樣的:假設你有變量foo的,淺的,隨機的動力 的字符串將存儲像這樣:「富BAS隨機推動」