- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
CMake的if
像这样:
if (condition)
...
else if (...)
...
else (...)
...
endif (...)
else if (...)
(...)
测试单独的条件。
else (...)
而不仅仅是
else
?为什么
endif (...)
而不是
endif
?
function(funcname ...)
...
endfunction(funcname ...)
endfunction(funcname ...)
而不仅仅是
endfunction
?
endif ()
.这个构造的目的是什么?
最佳答案
我相信最初的意图是,通过在每个子句(例如,else
语句)重复初始表达式(例如,if
语句中的那个),它会更清楚哪个语句实际上是关闭的,并且解析器可以验证并警告没有发生任何错误。
然而,事实证明你会有这样的表达:
if (VARIABLE matches "something")
[...] #This is executed when above condition is true
else (VARIABLE matches "something") #Looks very much like an elseif...
[...] #This is executed when above condition is false!
endif (VARIABLE matches "something")
if (VARIABLE matches "something")
[...] #This is executed when above condition is true
else ()
[...] #This is executed when above condition is false
endif ()
else
和
endif
在 CMake 中是宏,如
if
,因此它们是用这个语法调用的,有点(但不完全是)作为函数。
else
上的文档含糊不清,但坚持
endif
:
Note that the same expression must be given to if, and endif.
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
Note that the expression in the else and endif clause is optional.
关于syntax - 为什么 CMake 语法到处都有多余的括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29959126/
我的服务层有如下方法 public ModuleResponse GetModules(ModuleRequest request) { var response = new ModuleRe
我构建的工具栏与大多数工具栏一样,minHeight 设置为 actionBarSize: 但是,如果我删除这个属性,就完全没有区别了。工具栏保持其 actionBarSize,即使我删除菜单并将
我已经为 SVG 和剪辑路径苦苦挣扎了一段时间。 我正在尝试创建一个三 Angular 形剪辑路径,它将覆盖照片以给顶部一个“三 Angular 形”边缘。 我试图实现与照片完全相同的效果,但三 An
我有一个带有 2 个索引的 PostgreSQL 表。其中一个索引涵盖了 website_id 和 tweet_id 列,是一个唯一的 B 树索引。第二个索引只覆盖 website_id 列,是一个非
我是一名优秀的程序员,十分优秀!