加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何从方法中获取方法的返回值?

发布时间:2020-12-17 02:57:20 所属栏目:百科 来源:网络整理
导读:我一直在用 ruby练习一些算法,我想知道是否有可能从方法中捕获返回的值. 下面的代码是在没有任何反向方法和少量局部变量的情况下反转字符串… def rev(a) i = -1 a.split("").each do |el| el[0] = a[i] i = i + (-1) end.joinend 请注意,’each’方法的结果
我一直在用 ruby练习一些算法,我想知道是否有可能从方法中捕获返回的值.

下面的代码是在没有任何反向方法和少量局部变量的情况下反转字符串…

def rev(a)
 i = -1
 a.split("").each do |el|
  el[0] = a[i]
  i = i + (-1)
 end.join
end

请注意,’each’方法的结果未分配给任何变量.因此,’each’评估为具有相反字符序列的数组.在’结束'(字面意思)我只是’调用’方法’加入’将所有东西粘在一起.我们的想法是“捕获”所有这些过程中的返回值,并检查反向字符串是否为回文是真还是假.

如果反向字符串等于原始字符串,则该字是回文结构.防爆. “abba”,“性别”,“雷达”……

例如:

def rev(a)
 i = -1
 a.split("").each do |el|
  el[0] = a[i]
  i = i + (-1)
 end.join
 # catch here the returned value from the code above
 # and check if its a palindrome or not. (true or false)
end

感谢你们!如果有人能帮助我搞清楚这一点,我将非常感激!

解决方法

只需添加== a即可查看您的撤消是否与原始字符串匹配:

def rev(a)
 i = -1
 a.split("").each do |el|
  el[0] = a[i]
  i = i + (-1)
 end.join == a
end

puts rev("racecar")
puts rev("racecars")

产量

true
false

这是一个repl.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读