# File lib/kirbybase.rb, line 2382
    def select(*filter, &select_cond)
        # Declare these variables before the code block so they don't go

        # after the code block is done.

        result_set = []

        # Validate that all names in filter are valid field names.

        validate_filter(filter)

        filter = @field_names if filter.empty?

        # Get all records that match the selection criteria and

        # return them in an array of Struct instances.

        return get_matches(:select, filter, select_cond)
    end