首页 文章

Ruby对象分配类型强制

提问于
浏览
0

鉴于这个Ruby类(重要的是, not ActiveRecord或Rails):

class Document
  attr_accessor :word_total, :pages

  def initialize
    @pages = []
  end

  def word_total
    @pages.map(&:word_count).sum
  end
end

而这一行代码在另一个类中:

@document.pages << @pages

我收到这个错误 .

Failure/Error: @pages.map(&:word_count).sum

NoMethodError:
undefined method `word_count' for [#<Page:0x00007ff76ca85320  @word_count=254>]:Array

我怎样才能将集合的类型强制为 Page 而不是 Array ?那是我遇到的问题吗?

1 回答

  • 1

    更改

    @document.pages << @pages
    

    @document.pages = @pages
    

相关问题