'Initialise a Rule.
Parameters
selectors : list of Selector
Rule conditions.
parent_rule : Rule
Reference to the parent rule.
domain : Orange.data.domain.Domain
Data domain, used to calculate class distributions.
initial_class_dist : ndarray
Data class distribution in regard to the whole learning set.
prior_class_dist : ndarray
Data class distribution just before a rule is developed.
quality_evaluator : Evaluator
Evaluation algorithm.
complexity_evaluator : Evaluator
Evaluation algorithm.
significance_validator : Validator
Validation algorithm.
general_validator : Validator
Validation algorithm.'

def __init__(self, selectors=None, parent_rule=None, domain=None, initial_class_dist=None, prior_class_dist=None, quality_evaluator=None, complexity_evaluator=None, significance_validator=None, general_validator=None):

    self.selectors = (selectors if (selectors is not None) else [])
    self.parent_rule = parent_rule
    self.domain = domain
    self.initial_class_dist = initial_class_dist
    self.prior_class_dist = prior_class_dist
    self.quality_evaluator = quality_evaluator
    self.complexity_evaluator = complexity_evaluator
    self.significance_validator = significance_validator
    self.general_validator = general_validator
    self.target_class = None
    self.covered_examples = None
    self.curr_class_dist = None
    self.quality = None
    self.complexity = None
    self.prediction = None
    self.probabilities = None
    self.length = len(self.selectors)
