class Dentaku::AST::StringFunctions::Mid
def self.max_param_count
def self.max_param_count 3 end
def self.min_param_count
def self.min_param_count 3 end
def initialize(*args)
def initialize(*args) super @string, @offset, @length = *@args end
def value(context = {})
def value(context = {}) string = @string.value(context).to_s offset = Dentaku::AST::Function.numeric(@offset.value(context)).to_i negative_argument_failure('MID', 'offset') if offset < 0 length = Dentaku::AST::Function.numeric(@length.value(context)).to_i negative_argument_failure('MID') if length < 0 string[offset - 1, length].to_s end