未定义的方法`每个' for main:Object(NoMethodError)

时间:2017-05-04 01:11:40

标签: ruby

enter image description here

我试图在我的控制台中运行此文件,但是当我运行它时,我收到此错误:未定义的方法`每个' for main:Object(NoMethodError)

我试图通过使用self取出输入的单词,然后循环检查以查看其字母在我的哈希中是否具有匹配值然后将数组打印回给我该单词中的所有值。

2 个答案:

答案 0 :(得分:1)

self无法获取任何值,也许您正在寻找gets之类的内容:

def scrabble
  values = {"a" => 1, "e" => 1, "i" => 1, "o" => 1, "u" => 1}

  list = []

  gets.chomp.split("").each do |letter|
    list << values[letter]
  end

  puts list
end

gets将要求用户输入(在控制台中),并使用split将该输入转换为包含所有字符的数组,然后您可以使用each该数组。

答案 1 :(得分:1)

关键字self指的是当前对象。 This post可能会给你一些信息。

记录一些输入并迭代它:

# codes...
input_string = gets.chomp
input_string.each_char do |letter|
  # codes....
end