Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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:返回字符串中的值_Ruby - Fatal编程技术网

基本Ruby:返回字符串中的值

基本Ruby:返回字符串中的值,ruby,Ruby,在我的teamtreehouse ruby课程中,我面临着这个挑战,出于某种原因,我的解决方案并没有解决这个挑战。我做错了什么 问题: 在上一个挑战中,我们编写了一个方法,该方法在除法时返回两个参数的剩余部分。这很酷,但是如果该方法返回一个完整的句子中的剩余部分会更好。使用字符串插值返回句子“a的余数除以b是c”中的余数。其中a是“a”变量,b是“b”变量,c是a%b的值 我的回答 注 如果您需要打印并返回句子,我们只能使用两个参数: def mod(a, b) c = a % b re

在我的teamtreehouse ruby课程中,我面临着这个挑战,出于某种原因,我的解决方案并没有解决这个挑战。我做错了什么

问题: 在上一个挑战中,我们编写了一个方法,该方法在除法时返回两个参数的剩余部分。这很酷,但是如果该方法返回一个完整的句子中的剩余部分会更好。使用字符串插值返回句子“a的余数除以b是c”中的余数。其中a是“a”变量,b是“b”变量,c是a%b的值

我的回答


如果您需要打印并返回句子,我们只能使用两个参数:

def mod(a, b)
  c = a % b
  ret = "The remainder of #{a} divided by #{b} is #{c}"
  puts ret
  return ret
end
如果你不需要打印句子,你可以这样做:

def mod(a, b)
  c = a % b
  "The remainder of #{a} divided by #{b} is #{c}"
end
如果没有更早的return语句,Ruby函数将返回最后一个值,puts将始终返回nil:


你忘了在句末加句号,这就是为什么它没有通过。也改变了看跌期权的回报。我正在回答同一个挑战性问题,并找出了我的错误。

修改了以前的答案,这对我很有用:

def moda,b c=a%b ret=用{a}除以{b}的余数为{c}。 回程网 终止
将mod10,3除以3,4的余数等于1!=4除以3的余数是1。注意,fullstop可以修复它吗?您的方法不会返回字符串。它打印一个带有puts的字符串,然后返回puts返回的值,该值始终为零。
def mod(a, b)
  c = a % b
  "The remainder of #{a} divided by #{b} is #{c}"
end
irb(main):003:0> puts "my sentence"
my sentence
=> nil
irb(main):004:0>