【发布时间】:2011-05-19 13:42:20
【问题描述】:
你能在 here-doc 中加入条件语句吗?
IE:
sky = 1
str = <<EOF
The sky is #{if sky == 1 then blue else green end}
EOF
谢谢
【问题讨论】:
-
你可以这样做,但是最好超越技术能力来确定它是否有利于代码的可维护性。我宁愿看到条件测试发生在 here-doc 之外,分配给一个变量,然后将变量嵌入到 here-doc 分配中。在这个例子中,这似乎是一个细微的差别,但有助于随着程序的增长更好地组织代码,有点像在 Rails 或其他 MVC 中将逻辑与显示分开。