小编use*_*867的帖子

.each_with_object红宝石的解释?

下面,我们给出一个名为win_lose的数组.我们应该创建一个看起来像下面的哈希的哈希.我最初的倾向是使用.count做一些事情,但在尝试答案之后,.each_with_object工作得最好.

有人可以根据.each_with_object方法做什么以及答案本身为我分解吗?我得到了答案并从阅读文档中找到了答案,但仍然需要解释方法本身...

谢谢!

win_lose = ["win", "lose", "win", "lose", "win", "win"]
Run Code Online (Sandbox Code Playgroud)

基于win_lose数组创建一个如下所示的哈希:

 win_loss_count = {
   "win" => 4,
   "loss" => 2
 }
Run Code Online (Sandbox Code Playgroud)

这是我最初尝试没有成功的原因:

win_loss_count = Hash[win_lose.map.with_index { |outcome, times| outcome = times.count }]
Run Code Online (Sandbox Code Playgroud)

回答:

win_loss_count = win_lose.each_with_object(Hash.new(0)) { |word,counts| counts[word] += 1 }
Run Code Online (Sandbox Code Playgroud)

ruby hash

2
推荐指数
1
解决办法
960
查看次数

基本的Ruby类 - 正确的代码,以便返回预期的值

非常基本,但我无法弄清楚!Noob问题 - 我已经尝试了几个不同的答案,我仍然得到参数错误.有人可以帮助启发我正确的答案吗?

更正此代码,以便greet函数返回预期值.

class Person
  def initialize(name)
    @name = name
  end

  def greet(other_name)
    "Hi #{other_name}, my name is #{name}"
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby

0
推荐指数
1
解决办法
2415
查看次数

标签 统计

ruby ×2

hash ×1