【问题标题】:How to create list of information and later search and sort that information?如何创建信息列表并稍后搜索和排序该信息?
【发布时间】:2016-03-14 21:52:18
【问题描述】:

我需要创建简单的书籍信息列表(代码中的数据库),其中包含作者、流派、名称、发行日期和页码。然后按作者搜索(按日期排序,按流派搜索(按作者排序)。最简单的方法是什么?

【问题讨论】:

    标签: ruby database list sorting search


    【解决方案1】:

    您可以创建一个Book 类,然后将这些对象存储在Array 中。这很简单,但您可能想阅读一些关于 Ruby 和面向对象编程的知识。

    class Book
      attr_accessor :name
      attr_accessor :author
      attr_accessor :genre
    
      def initialize name, author, genre
        @name = name
        @author = author
        @genre = genre
      end
    
      def to_s
        "book name: " + @name + "\nauthor: " + @author + "\ngenre: " + @genre
      end
    end
    
    # create a few books
    book_one = Book.new("Scary Book","Michael", "horror")
    book_two = Book.new("Long Book", "Jim", "comedy")
    book_three = Book.new("Short Book", "Pam", "romance")
    
    # store them in an Array for sorting and searching
    book_array = [book_one, book_two, book_three]
    
    # sort the array by author
    sorted_array = book_array.sort_by {|book| book.author}
    
    # find the book(s) in the "romance" genre
    romance_books = book_array.select {|book| book.genre == "romance"}
    

    【讨论】:

    • 我将如何从数组中调用书籍(列出所有书籍及其信息)?因为如果我尝试“puts book_array”,它会给我一堆这样的数字:#<0x27eb860><0x27eb800><0x27eb7a0>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多