【发布时间】:2017-10-11 20:50:37
【问题描述】:
我有一个包含天气数据的字符串。我想为字符串中的每个值分配一个变量
string = "12-05-17 12:48:48 12.3 23 -8.2 1 2 225 0.0 0.0 992.3 SW 1 m/s C
hPa mm 49.8 +0.1 0.6 60.0 0.0 21.5 31 12.3 +0.7 13.0 11:31 1.2 01:31 4 10:40
7 09:36 992.4 12:28 989.4 00:00 1.9.4 1099 6 12.3 12.3 0 0.00 0 176 0.0 24 1
0 S 2560 m 8.7 0.0 750 0 "
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,
s22,s23,s24,s25,s26,s27,s28,s29,s30,s31,s32,s33,s34,s35,s36,s37,s38,s39,s40,
s41,s42,s43,s44,s45,s46,s47,s48,s49,s50,s51,s52,s53,s54,s55,s56,s57,s58 =
response:match("
([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s
([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s
([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s
([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s
([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s
([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s
([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s
([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s([^%s]+)%s
([^%s]+)%s([^%s]+)")
Date = s1
Time = s2
Temp = s3
Humidity = sS4
WindSpeed = s13
HighTemp = s27
CloudBase = s53
但是这不起作用。我收到以下错误消息;
"捕获过多 堆栈回溯: 在函数'string.match'中 main.lua:2: 在主块中
请帮忙!
【问题讨论】:
-
58 个变量,真的吗?我认为使用数组会更好。