我正在尝试编写一个程序,删除名称中带有数字的所有颜色,然后将它们放入一个字段中。我遇到第4行的问题。有什么建议吗?
on mouseup
global choice
put colorNames() into choice
repeat for each line in choice
if tcolor1 contains "1" || "2" then
delete tcolor1 from choice
end if
end repeat
put choice into fld "color list"
end mouseup
答案 0 :(得分:1)
您似乎忘了指定变量 - tColor - 来表示您选择变量中的每一行。此外,当对每个使用重复时,最好建立一个新的结果列表,而不是尝试修改原始变量(选择)。
尝试类似:
on mouseUp
global choice
put colorNames() into temp
repeat for each line tColor in temp
if tColor contains "1" or tColor contains "2" then next repeat -- SKIP UNWANTED RESULTS
put tColor & return after myColorList -- BUILD A NEW LIST
end repeat
delete last char of myColorList -- REMOVE THE LAST RETURN CHARACTER
put myColorList into choice
put myColorList into fld "color list"
end mouseUp
另请注意,您需要实际写出“或”(假设您正在尝试这样做) - LiveCode不会为该运算符使用符号。
答案 1 :(得分:0)
此行将所有不包含数字的颜色名称放入变量myList
:
filter the colorNames without "*[0-9]*" into myList