23

我们如何访问那些与byebug保留名称冲突的变量名称?

(byebug) var local
h = {"hierarchyId"=>"59f0b029e4b037ef11a055f7", "level"=>2, ...
self =                   <div class="index_as_table"></div>

(byebug) 

我想访问变量“h”

但键入h会显示“byebug 的帮助对话框”

(byebug) h

  break      -- Sets breakpoints in the source code
  catch      -- Handles exception catchpoints
  condition  -- Sets conditions on breakpoints
  continue   -- Runs until program ends, hits a breakpoint or reaches a line
  debug      -- Spawns a subdebugger
  delete     -- Deletes breakpoints
  disable    -- Disables breakpoints or displays
  display    -- Evaluates expressions every time the debugger stops
  down       -- Moves to a lower frame in the stack trace
  edit       -- Edits source files
  enable     -- Enables breakpoints or displays
  finish     -- Runs the program until frame returns
  frame      -- Moves to a frame in the call stack
  help       -- Helps you using byebug
  history    -- Shows byebug's history of commands
  info       -- Shows several informations about the program being debugged
  interrupt  -- Interrupts the program
  irb        -- Starts an IRB session
  kill       -- Sends a signal to the current process
  list       -- Lists lines of source code
  method     -- Shows methods of an object, class or module
  next       -- Runs one or more lines of code
  pry        -- Starts a Pry session
  quit       -- Exits byebug
  restart    -- Restarts the debugged program
  save       -- Saves current byebug session to a file
  set        -- Modifies byebug settings
  show       -- Shows byebug settings
  source     -- Restores a previously saved byebug session
  step       -- Steps into blocks or methods one or more times
  thread     -- Commands to manipulate threads
  tracevar   -- Enables tracing of a global variable
  undisplay  -- Stops displaying all or some expressions when program stops
  untracevar -- Stops tracing a global variable
  up         -- Moves to a higher frame in the stack trace
  var        -- Shows variables and its values
  where      -- Displays the backtrace

(byebug) 

有什么方法可以访问与这些保留关键字名称冲突的变量。像python的pdb中的感叹号前缀?(!h不适用于 byebug)

4

2 回答 2

33

您可以将其括在括号中:

[1, 4] in /Users/max/test.rb
   1: require 'byebug'
   2:
   3: byebug
=> 4: false
(byebug) (h = 1)
1
(byebug) (h)
1
(byebug)
于 2017-12-06T06:05:56.137 回答
9

您可以使用:

eval h

Byebug 指南:https ://github.com/deivid-rodriguez/byebug/blob/master/GUIDE.md

于 2017-12-06T06:04:56.380 回答