Sha256: 801ceefbc8150413d9eeaf682265f744879c34b23aa8f97848f9ab4bb4b82e7e
Contents?: true
Size: 912 Bytes
Versions: 1
Compression:
Stored size: 912 Bytes
Contents
require_relative "../../logger" class Customizer def initialize(problem) @problem = problem end def call(text:, custom:, type: nil) output = text.clone custom.each_pair { |oldvalue, newvalue| output.gsub!(oldvalue, newvalue) } if type.nil? return output elsif type == "formula" begin return eval(output).to_s rescue SyntaxError => e Logger.error "Problem.name = #{@problem.name}" Logger.error "Customizer: Wrong formula '#{text}' or wrong values '#{output}'" Logger.error e.to_s exit 1 end else Logger.error "Customizer: Wrong answer type (#{type})" exit 1 end end def min(*args) args.min end def max(*args) args.max end def bin2dec(value) value.to_s.to_i(2) end def dec2bin(value) value.to_i.to_s(2) end def dec2hex(value) value.to_i.to_s(16) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
asker-tool-2.9.1 | lib/asker/ai/problem/customizer.rb |