Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 Upcase方法不返回Upcase字符串_Ruby - Fatal编程技术网

Ruby Upcase方法不返回Upcase字符串

Ruby Upcase方法不返回Upcase字符串,ruby,Ruby,在这些简单的Ruby测试中,我总是出错: def large(string) if string.size > 20 puts string.upcase! else puts string end end 测试: 需要什么使它们工作?将其参数设置为,但其返回值始终为零: 在代码中,large的返回值总是nil,因此与字符串的比较总是返回false 这可能更接近您想要的: def large(string) if string.size > 20

在这些简单的Ruby测试中,我总是出错:

def large(string)
  if string.size > 20
    puts string.upcase!
  else
    puts string
  end
end
测试:

需要什么使它们工作?

将其参数设置为,但其返回值始终为零:

在代码中,large的返回值总是nil,因此与字符串的比较总是返回false

这可能更接近您想要的:

def large(string)
  if string.size > 20
    string.upcase!
  else
    string
  end
end
puts打印其参数,但其返回值始终为零:

在代码中,large的返回值总是nil,因此与字符串的比较总是返回false

这可能更接近您想要的:

def large(string)
  if string.size > 20
    string.upcase!
  else
    string
  end
end
将打印内容显示在屏幕上并返回零。在Ruby中,在布尔上下文中,nil和false都是false。其他一切都是真的。所以你的方法变为零。你应该这样写

def large(string)
    if string.size > 20
        string.upcase!
    else
        string
    end
end
更好的办法是

def large(string)
  string.size > 20 ? string.upcase : string
end
将打印内容显示在屏幕上并返回零。在Ruby中,在布尔上下文中,nil和false都是false。其他一切都是真的。所以你的方法变为零。你应该这样写

def large(string)
    if string.size > 20
        string.upcase!
    else
        string
    end
end
更好的办法是

def large(string)
  string.size > 20 ? string.upcase : string
end

我认为没有理由投反对票。这当然是一个初学者的问题,但是问题描述是可以理解的,它附带了一个最小的、完整的代码示例。这是一种应该投票表决的问题行为!我认为没有理由投反对票。这当然是一个初学者的问题,但是问题描述是可以理解的,它附带了一个最小的、完整的代码示例。这是一种应该投票表决的问题行为!