我有一个包含字符串的未知长度列表。 我想将最后一项与倒数第二项进行比较,但我找不到一种简单的方法来检索这些元素,以便我可以比较它们。
我尝试获取列表的长度,然后使用 (length-1( 作为我传递到列表GET
函数中的索引,但这似乎不起作用。
set(my_list a b c) # I don't actually know the length of the original list
list(LENGTH my_list list_len)
list(GET my_list (list_len-1) last_item) # doesn't work
我希望将元素c
保存在last_item
变量中,但它仍然是空的。 在CMake中执行此操作的正确方法是什么?
您必须使用 math
才能执行数学运算。
list(LENGTH my_list list_len)
math(EXPR list_last "${list_len} - 1")
list(GET my_list ${list_last} last_item)
编辑:可以使用负数从列表末尾获取元素,您可以使用 -1 获取列表的最后一项:
list(GET my_list -1 last_item)