我试图根据我的markdown帖子的液体标题使if语句起作用,如果变量设置为true,则执行某项操作;否则,如果变量不存在,则执行另一项操作。只是似乎无法使其正常工作。
我尝试将if语句更改为private IEnumerator OnCollisionStay2D(Collision2D collision)
{
if (collision.collider.tag == "mama") {
//interrupt movement
float currentTime = Time.time;
float madBegin = Time.time;
while (currentTime - madBegin < 3)
{
personAnimator.runtimeAnimatorController = Resources.Load("Animations/human1mad_0") as RuntimeAnimatorController;
currentTime = Time.time;
Debug.Log(currentTime);
}
isAngry = true;
}
yield return new WaitForSeconds(5);
}
。尝试currentTime
的不同组合并交换图像代码。
{% unless %}
我希望看到:如果降价文件液体部分中的!= false
设置为true,请删除横幅图像的边框。
答案 0 :(得分:0)
没有page.no-border
或post.no-border
的捕获标记将返回一个空字符串,该字符串的值为true,因为除了false
和nil
以外的所有液体值都是真实的。试试这个(或类似的东西):
{% capture banner %}{{ page.banner }}{{ post.banner }}{% endcapture %}
{% capture title %}{{ page.title }}{{ post.title }}{% endcapture %}
{% if page.banner or post.banner %}
{% if page.no-border or post.no-border %}
<img class="center no-border" src="{{ banner }}" alt="{{ title }}"/><br/>
{% else %}
<img class="center" src="{{ banner }}" alt="{{ title }}"/><br/>
{% endif %}
{% endif %}
这都是未经测试的,您可以通过几种不同的方式来完成它。
编辑:澄清
capture
是一个函数。它计算内部的内容,并将其作为字符串存储在变量中。如果内容为nil
(无),则返回空字符串(""
)。
在编程中,每个值都被视为“真实”或“虚假”。这意味着(除其他外)放在if
语句中时,真实值将执行该语句,而伪造值将不执行。以整数值1为例;在大多数语言中,这是一个真实的值,所以
if 1
puts 'hello world'
end
将在控制台上显示“ hello world”。 nil
通常是虚假的值,因此
if nil
puts 'hello world'
end
什么也不会做。
哪些值是真实的还是虚假的取决于编程语言。 在Liquid中,除了nil
和false
之外,一切都是真实的。 capture
始终返回一个字符串,并且所有字符串(即使是空字符串)都是真实的。
如果您这样写:
{% if "" %}
<img class="center no-border" src="{{ banner }}" alt="{{ title }}"/><br/>
{% else %}
<img class="center" src="{{ banner }}" alt="{{ title }}"/><br/>
{% endif %}
您将始终获得无边界版本。将该if
语句替换为if "true"
或if true
,您将获得相同的结果。