2013-10-22 37 views
0

在Dart中,有什麼方法可基於地圖中的鍵實例化多個變量?基於地圖中的鍵實例化多個變量

例如,假設我有一個地圖:

Map aMap = {"var1" : "value1", "var2" : "value2", "var3" : "value3"}; 

我要實例變量

String var1, var2, var3; 

與地圖中的值。我認爲我可以這樣做:

aMap.forEach((key,value) { 
    #don't know what to do here 
}); 

但我不知道要在括號裏面寫些什麼。

+1

你的用例是什麼?它看起來像一個奇怪的建築。也許你試圖達到的目標可以有所不同。 –

+0

我從yaml文件中提取值。我想實例化yaml文件中的所有頂層構造作爲相同名稱的變量。 yaml文件'yaml:yaml text'將實例化一個變量yaml爲「yaml text」。 – snowe

+0

「yaml」是否需要變量?我沒有看到你在代碼中實際做了什麼,因爲你不知道變量名稱。 –

回答

0

如果我理解正確,只需使用:

String var1 = aMap['var1']; 
String var2 = aMap['var2']; 
String var3 = aMap['var3']; 

但你還不如不聲明這些變量,而只是指aMap['var$n']一些int n

+0

我知道我可以做到這一點,但想象一下地圖非常大。我不想以這種方式實例化10個變量,遠不止於此。而且這些變量並不是var1 var2等,它們被命名爲「match」和「patterns」,所以我不能做整數方法。 – snowe

+0

你能說'aMap ['match']','aMap ['patterns']'等嗎? (沒有聲明變量) – Ganymede

+0

也許,但重點是避免必須通過鍵入實例化變量。更像是名稱與地圖中的鍵相同的動態變量。 – snowe