class Pione::PNML::Param

Param is a class represents PIONE’s paramter set.

Attributes

data[R]

Public Class Methods

new(data={}) click to toggle source

@param data [Hash]

param set data
# File lib/pione/pnml/pione-model.rb, line 622
def initialize(data={})
  @data = data
end
sentence_of(node) click to toggle source

Create a parameter from the parameter sentence node.

@param node [PNML::Node]

parameter sentence node

@return [Param]

parameter
# File lib/pione/pnml/pione-model.rb, line 614
def self.sentence_of(node)
  new(LabelExtractor.extract_data_from_param_sentence(node.name))
end
set_of(node) click to toggle source

Create a parameter from the parameter set node.

@param node [PNML::Node]

parameter set node

@return [Param]

parameter
# File lib/pione/pnml/pione-model.rb, line 604
def self.set_of(node)
  new(LabelExtractor.extract_data_from_param_set(node.name))
end

Public Instance Methods

+(other) click to toggle source
# File lib/pione/pnml/pione-model.rb, line 638
def +(other)
  self.class.new(@data.merge(other.data))
end
as_declarations(option={}) click to toggle source
# File lib/pione/pnml/pione-model.rb, line 632
def as_declarations(option={})
  @data.map do |var, expr|
    indent("param $%s := %s" % [var, expr], option)
  end
end
as_expr() click to toggle source
# File lib/pione/pnml/pione-model.rb, line 626
def as_expr
  @data.map do |var, expr|
    "%s: %s" % [var, expr]
  end.join(", ").tap {|x| return "{%s}" % x}
end