Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 这里有if-then-else语句_Ruby_Heredoc - Fatal编程技术网

Ruby 这里有if-then-else语句

Ruby 这里有if-then-else语句,ruby,heredoc,Ruby,Heredoc,正如标题所说。可以在ruby的here文档中使用if/then语句吗 谢谢是的 irb(main):001:0>x=x 怎样 现在 褐牛 是 irb(main):001:0>x=x 怎样 现在 褐牛 一个heredoc就像一个字符串。因此,如果字符串允许变量求值和替换(使用无引号或双引号),则可以执行以下操作: switcheroo=true mydoc = <<HDOC This string will always appear #{"This will only appea

正如标题所说。可以在ruby的here文档中使用if/then语句吗

谢谢

是的
irb(main):001:0>x=x
怎样
现在
褐牛

irb(main):001:0>x=x
怎样
现在
褐牛

一个heredoc就像一个字符串。因此,如果字符串允许变量求值和替换(使用无引号或双引号),则可以执行以下操作:

switcheroo=true
mydoc = <<HDOC
This string will always appear
#{"This will only appear if switcheroo is true" if switcheroo} 
HDOC
switchero=true

mydoc=heredoc就像一个字符串。因此,如果字符串允许变量求值和替换(使用无引号或双引号),则可以执行以下操作:

switcheroo=true
mydoc = <<HDOC
This string will always appear
#{"This will only appear if switcheroo is true" if switcheroo} 
HDOC
switchero=true
mydoc=比较(对比)这些样本。哪一种更具可读性,逻辑更清晰,您希望支持哪一种

示例#1:

string=比较(对比)这些样本。哪一种更具可读性,逻辑更清晰,您希望支持哪一种

示例#1:


string=可以,但我的问题是为什么?执行逻辑测试并在here doc外部设置一个字符串变量,然后在其内部使用
{}
执行正常插值。这样就不那么杂乱,也更容易理解。原因是我需要判断一件事或另一件事是真的。这是选择框的一些html文本。因此,我需要根据传递给函数的内容选择一些内容。我是ruby的新手,所以我对它还不太了解。你可以,但我的问题是为什么?执行逻辑测试并在here doc外部设置一个字符串变量,然后在其内部使用
{}
执行正常插值。这样就不那么杂乱,也更容易理解。原因是我需要判断一件事或另一件事是真的。这是选择框的一些html文本。因此,我需要根据传递给函数的内容选择一些内容。我是ruby的新手,所以我对它还不太了解。很高兴知道。我有一些类似于你的例子4。虽然我需要做的不是在同一个地方插入一些东西。我不想只做一个小改动就写两次字符串,所以我只使用了两个变量。不过效果不错。谢谢很高兴知道。我有一些类似于你的例子4。虽然我需要做的不是在同一个地方插入一些东西。我不想只做一个小改动就写两次字符串,所以我只使用了两个变量。不过效果不错。谢谢
string = <<END_STRING
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
#{
if (true_or_false)
  'jackdaws love my giant sphinx of quartz'
else
  'Sphinx of black quartz, judge my vow.'
end
}
proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem
ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt
in culpa qui officia deserunt mollit anim id est laborum.
END_STRING
string = <<END_STRING
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
#{
(true_or_false) \
  ?  'jackdaws love my giant sphinx of quartz' \
  : 'Sphinx of black quartz, judge my vow.'
}
proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem
ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt
in culpa qui officia deserunt mollit anim id est laborum.
END_STRING
string = <<END_STRING
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
#{(true_or_false) ? 'jackdaws love my giant sphinx of quartz' : 'Sphinx of black quartz, judge my vow.'}
proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem
ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt
in culpa qui officia deserunt mollit anim id est laborum.
END_STRING
insert_string = (true_or_false) \
  ? 'jackdaws love my giant sphinx of quartz' \
  : 'Sphinx of black quartz, judge my vow.'

string = <<END_STRING
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
${ insert_string }
proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem
ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt
in culpa qui officia deserunt mollit anim id est laborum.
END_STRING