我正在进行以下代码练习 . 我对Ruby很新,并且一直坚持让最后一个方法工作 . 目前,除了'def page_index'之外,每种方法都可以使用测试代码 . 我在这里错过了什么吗?我似乎无法确定我在这部分做错了什么 . 任何帮助/指导表示赞赏!我还想指出,我删除了所有其他测试代码,并且只是方法的部分当前不起作用 .
代码是作为练习的一部分提供给我们的,我们被告知修复代码以使其与底部提供的测试代码一起运行 . 对于我遇到问题的方法,说明是:page_index获取项索引并返回它所属的页面,它确定项目所在的页面,基于零的索引,此方法应返回-1表示item_index值超出范围 .
class PaginationHelper
attr_accessor :collection, :items_per_page
def initialize(collection, items_per_page)
@collection = collection
@items_per_page = items_per_page
end
def item_count
puts @collection.length
end
def page_count
puts @collection.length - items_per_page
end
def page_item_count(page_index)
page_item_count = @items_per_page - page_index
if page_index >= 2
puts -1, "Page is invalid."
else
puts (@items_per_page - page_index)
end
end
def page_index(index)
index = @collection - item_index.to_i
if page_index >= 2
puts -1, "Page is out of range"
else
puts (@collection-index.to_i)
end
end
end
helper = PaginationHelper.new(['a','b','c','d','e','f'], 4)
helper.page_index(5)
helper.page_index(2)
helper.page_index(20)
helper.page_index(-10)
1 回答
我想以下代码是您正在寻找的: