If statement 在Ruby中使用If和Else语句
对编程世界来说非常陌生,刚刚开始学习,通过Flatiron学校的准备工作,一直做得不错,但由于某种原因无法理解“if”和“else”语句。这个问题类似于克里斯·派恩的“聋奶奶”问题,但没有说“再见!”三次 ~该方法应该接受一个包含短语的字符串参数,并检查短语是否全部用大写字母书写:如果不是,则奶奶听不见。然后她应该回应(返回)哈?!说出来,桑尼 ~但是,如果你对她大喊大叫(即使用包含全大写短语的字符串参数调用该方法),那么她可以听到你的声音(或者至少她认为她可以),并且应该回答(返回)NO,而不是1938年以后 到目前为止,我已经:If statement 在Ruby中使用If和Else语句,if-statement,statements,If Statement,Statements,对编程世界来说非常陌生,刚刚开始学习,通过Flatiron学校的准备工作,一直做得不错,但由于某种原因无法理解“if”和“else”语句。这个问题类似于克里斯·派恩的“聋奶奶”问题,但没有说“再见!”三次 ~该方法应该接受一个包含短语的字符串参数,并检查短语是否全部用大写字母书写:如果不是,则奶奶听不见。然后她应该回应(返回)哈?!说出来,桑尼 ~但是,如果你对她大喊大叫(即使用包含全大写短语的字符串参数调用该方法),那么她可以听到你的声音(或者至少她认为她可以),并且应该回答(返回)NO,而不
def speak_to_grandma
puts "Hi Nana, how are you?".upcase
if false
puts "HUH?! SPEAK UP, SONNY!"
else
puts "NO, NOT SINCE 1938!"
end
end
但是我得到了错误的参数数量…在使用if/else语句时,我应该如何添加参数?这可能是一个非常简单和基本的问题,但我似乎无法理解这一点(可能是过度思考)。任何帮助和澄清都将不胜感激
input_phrase = "Hi Nana, how are you?"
def speak_to_grandma(phrase)
# Check if string equals same phrase all upper case letters, which means string is all uppercase
if phrase == phrase.upcase
# return this string if condition is true
puts "NO, NOT SINCE 1938!"
else
# return this string if condition is false
puts "HUH?! SPEAK UP, SONNY!"
end
end
# execute function passing input_phrase variable as argument
speak_to_grandma(input_phrase)
在使用if/else语句时,我应该如何添加参数?
这可能是一个非常简单和基本的问题,但似乎无法解决
我的头围绕着这个(可能是过度思考)
您的错误是函数不接受任何参数,这里它接受“phrase”变量作为参数并处理它:
def speak_to_grandma(phrase)
你有
if false
但是没有检查什么是假的..要用“false”重写我的版本:
我在这里评估
if (phrase == phrase.upcase) == false
基本意思是“如果表达式中短语等于短语,则所有大写字母都为false”不要执行(短语==短语.upcase)==false
。执行短语!=短语.upcase
。或者,更好的是,执行短语==短语.upcase
并交换if
和else
块。
if (phrase == phrase.upcase) == false