Sha256: 0e7ca2de7b25e8eb05f565fea51a11c3187f517f405862f2fdbecacef5a51286

Contents?: true

Size: 982 Bytes

Versions: 2

Compression:

Stored size: 982 Bytes

Contents

module Debugger
  class EvalCommand < Command
    def regexp
      /^\s*(\s*p|e(?:val)?)\s+/
    end

    def execute
      print "%s\n", debug_eval(@match.post_match).inspect
    end

    class << self
      def help_command
        %w|p eval|
      end

      def help(cmd)
        if cmd == 'p'
          %{
            p expression\tevaluate expression and print its value
          }
        else
          %{
            e[val] expression\tevaluate expression and print its value,
            \t\t\talias for p
          }
        end
      end
    end
  end

  class PPCommand < Command
    def regexp
      /^\s*pp\s+/
    end

    def execute
      out = StringIO.new
      PP.pp(debug_eval(@match.post_match), out) rescue out.puts $!.message
      print out.string
    end

    class << self
      def help_command
        'pp'
      end

      def help(cmd)
        %{
          pp expression\tevaluate expression and print its value
        }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-debug-0.3-mswin32 lib/ruby-debug/commands/eval.rb
ruby-debug-0.3 lib/ruby-debug/commands/eval.rb