Получение неинициализированной постоянной ошибки в программе Ruby - почему я не могу отформатировать число? - PullRequest
1 голос
/ 06 июня 2019

Это поле

  def format_to_two_dec(stringfield)
    "%.2f" % stringfield # -> CRASHES
    stringfield #--> OKAY - returns a string such as 900
  end

Этот код вызывает запись с полем под названием total.

 return_method =
  proc do |the_self_ref|
    the_record = the_self_ref.peek_next_db_record.select do |an_elem|
      an_elem[:crectype] == '0004'
    end
    the_self_ref.format_to_two_dec(the_record[0][:total])
  end

То, что я пытаюсь сделать, - это отформатировать число, чтобы оно имело два десятичных знака, а ВСЕГДА - два десятичных знака (т. Е. 900,00).

Я получаю ошибку:

// Scripts / create_835_record.rb: 168: в блоке (2 уровня) в eval_x12_commands: неинициализированная константа Create835Records :: C (NameError)

Формат записи:

record0004_format =
  {
    ctotal_charge: 15,
    cdiscount: 15,
    cineligible: 15,
    cpended: 15,
    callowed: 15,
    cdeductible: 15,
    ccopay: 15,
    ccoinsurance: 15,
    cbalance: 15,
    cother_carrier: 15,
    cpayment: 15,
    cpatient_responsibility: 15,
    primarypayment: 15,
    excess: 15,
    noncovered: 15
  }

 def eval_x12_commands
    @list_of_segments_in_file.each do |a_cmd|
      array_to_eval = a_cmd.split('|')
      list_of_evaled = []
      array_to_eval.each do |item|
        **list_of_evaled << eval(item, binding)** //this line
      end
      the_method = @the_builder_for835.method(list_of_evaled[0])
      begin
        the_method.call(*list_of_evaled[1..-1])
      rescue
        puts "Eval Exception\n"
      end
    end

Надеюсь, этого будет достаточно - программа немного большая, но я могу выложить больше, если мне нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...