Class: IRB::Context
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | lib/irb/context.rb, lib/irb/ext/change-ws.rb, lib/irb/ext/history.rb, lib/irb/ext/math-mode.rb, lib/irb/ext/save-history.rb, lib/irb/ext/tracer.rb, lib/irb/ext/use-loader.rb, lib/irb/ext/workspaces.rb |
Overview
A class that wraps the current state of the irb session, including the configuration of conf.
Class Method Summary
-
.new(irb, workspace = nil, input_method = nil, output_method = nil) ⇒ Context
constructor
Creates a new ::IRB context.
Instance Attribute Summary
-
#ap_name
rw
A copy of the default
IRB.conf[:AP_NAME]. -
#auto_indent_mode
rw
Can be either the default
IRB.conf[:AUTO_INDENT], or the mode set by #prompt_mode= -
#back_trace_limit
rw
The limit of backtrace lines displayed as top
nand tailn. -
#debug_level
rw
The debug level of irb.
-
#debug_level=(value)
rw
Sets the debug level of irb.
-
#echo?
rw
Alias for #echo.
-
#eval_history
rw
The command result history limit.
-
#eval_history=(no)
rw
Sets command result history limit.
-
#history_file
rw
A copy of the default
IRB.conf[:HISTORY_FILE]. -
#history_file=(hist)
rw
Set
IRB.conf[:HISTORY_FILE]to the givenhist. -
#ignore_eof?
rw
Alias for #ignore_eof.
-
#ignore_sigint?
rw
Alias for #ignore_sigint.
-
#inspect_mode
rw
A copy of the default
IRB.conf[:INSPECT_MODE]. -
#inspect_mode=(opt)
rw
Specifies the inspect mode with
opt: -
#io
rw
The current input method.
-
#irb
rw
Current irb session.
-
#irb_name
rw
Can be either name from
IRB.conf[:IRB_NAME], or the number of the current job set by JobManager, such asirb#2. - #irb_path rw
-
#load_modules
rw
A copy of the default
IRB.conf[:LOAD_MODULES]. -
#math_mode
(also: #math?)
rw
Returns whether bc mode is enabled.
-
#math_mode=(opt)
rw
Sets bc mode, which loads
lib/mathn.rbso fractions or matrix are available. -
#prompt_c
rw
::IRB prompt for continuated statement (e.g. immediately after an
if). -
#prompt_i
rw
Standard IRB prompt.
-
#prompt_mode
rw
A copy of the default
IRB.conf[:PROMPT_MODE]. -
#prompt_mode=(mode)
rw
Sets the
modeof the prompt in this context. -
#prompt_n
rw
See IRB@Customizing+the+IRB+Prompt for more information.
-
#prompt_s
rw
::IRB prompt for continuated strings.
-
#rc?
rw
Alias for #rc.
-
#return_format
rw
The format of the return statement, set by #prompt_mode= using the
:RETURNof themodepassed to set the current #prompt_mode. -
#save_history
rw
A copy of the default
IRB.conf[:SAVE_HISTORY]. -
#save_history=(val)
rw
Sets
IRB.conf[:SAVE_HISTORY]to the givenvaland calls #init_save_history with this context. -
#use_loader
(also: #use_loader?)
rw
Returns whether #irb's own file reader method is used by
load/requireor not. -
#use_loader=(opt)
rw
Sets IRB.conf.
-
#use_loader?
rw
Alias for #use_loader.
-
#use_readline=(opt)
rw
Obsolete method.
-
#use_readline?
rw
Alias for #use_readline.
-
#use_tracer=(opt)
rw
Sets whether or not to use the Tracer library when evaluating statements in this context.
-
#use_tracer?
rw
Alias for #use_tracer.
-
#verbose
rw
Whether verbose messages are displayed or not.
-
#verbose? ⇒ Boolean
rw
Returns whether messages are displayed or not.
-
#workspace
rw
WorkSpace in the current context.
-
#debug? ⇒ Boolean
readonly
Whether or not debug mode is enabled, see #debug_level=.
- #file_input? ⇒ Boolean readonly
-
#inspect? ⇒ Boolean
readonly
Whether #inspect_mode is set or not, see #inspect_mode= for more detail.
-
#last_value
readonly
The return value of the last statement evaluated.
-
#math?
readonly
Alias for #math_mode.
-
#prompting? ⇒ Boolean
readonly
Whether #verbose? is
true, andinput_methodis either StdioInputMethod or ReadlineInputMethod, see #io for more information. -
#thread
readonly
The current thread in this context.
-
#workspace_home
readonly
The toplevel workspace, see #home_workspace
Instance Method Summary
- #__exit__
- #__inspect__
- #__to_s__
-
#_set_last_value(value)
Alias for #set_last_value.
-
#change_workspace(*_main)
Changes the current workspace to given object or binding.
-
#echo
(also: #echo?)
rw
Whether to echo the return value to output or not.
-
#exit(ret = 0)
Exits the current session, see irb_exit
-
#home_workspace
Inherited from
TOPLEVEL_BINDING. -
#ignore_eof
(also: #ignore_eof?)
rw
Whether
^D(control-d) will be ignored or not. -
#ignore_sigint
(also: #ignore_sigint?)
rw
Whether
^C(control-c) will be ignored or not. -
#irb_level
Size of the current WorkSpace stack.
-
#main
The top-level workspace, see WorkSpace#main
-
#pop_workspace
Removes the last element from the current #workspaces stack and returns it, or
nilif the current workspace stack is empty. -
#push_workspace(*_main)
Creates a new workspace with the given object or binding, and appends it onto the current #workspaces stack.
-
#rc
(also: #rc?)
rw
A copy of the default
IRB.conf[:RC]. -
#set_last_value(value)
(also: #_set_last_value)
Sets the return value from the last statement evaluated in this context to #last_value.
-
#to_s
Alias for #inspect.
-
#use_readline
(also: #use_readline?)
rw
Whether
Readlineis enabled or not. -
#use_tracer
(also: #use_tracer?)
rw
Whether Tracer is used when evaluating statements in this context.
-
#workspaces
WorkSpaces in the current stack.
Constructor Details
.new(irb, workspace = nil, input_method = nil, output_method = nil) ⇒ Context
Creates a new ::IRB context.
The optional input_method argument:
nil-
uses stdin or Readline
String-
uses a File
other-
uses this as InputMethod
# File 'lib/irb/context.rb', line 25
def initialize(irb, workspace = nil, input_method = nil, output_method = nil)
@irb = irb
if workspace
@workspace = workspace
else
@workspace = WorkSpace.new
end
@thread = Thread.current if defined? Thread
# copy of default configuration
@ap_name = IRB.conf[:AP_NAME]
@rc = IRB.conf[:RC]
@load_modules = IRB.conf[:LOAD_MODULES]
@use_readline = IRB.conf[:USE_READLINE]
@verbose = IRB.conf[:VERBOSE]
@io = nil
self.inspect_mode = IRB.conf[:INSPECT_MODE]
self.math_mode = IRB.conf[:MATH_MODE] if IRB.conf[:MATH_MODE]
self.use_tracer = IRB.conf[:USE_TRACER] if IRB.conf[:USE_TRACER]
self.use_loader = IRB.conf[:USE_LOADER] if IRB.conf[:USE_LOADER]
self.eval_history = IRB.conf[:EVAL_HISTORY] if IRB.conf[:EVAL_HISTORY]
@ignore_sigint = IRB.conf[:IGNORE_SIGINT]
@ignore_eof = IRB.conf[:IGNORE_EOF]
@back_trace_limit = IRB.conf[:BACK_TRACE_LIMIT]
self.prompt_mode = IRB.conf[:PROMPT_MODE]
if IRB.conf[:SINGLE_IRB] or !defined?(IRB::JobManager)
@irb_name = IRB.conf[:IRB_NAME]
else
@irb_name = IRB.conf[:IRB_NAME]"#"IRB.JobManager.n_jobs.to_s
end
@irb_path = "(" + @irb_name + ")"
case input_method
when nil
case use_readline?
when nil
if (defined?(ReadlineInputMethod) && STDIN.tty? &&
IRB.conf[:PROMPT_MODE] != :INF_RUBY)
@io = ReadlineInputMethod.new
else
@io = StdioInputMethod.new
end
when false
@io = StdioInputMethod.new
when true
if defined?(ReadlineInputMethod)
@io = ReadlineInputMethod.new
else
@io = StdioInputMethod.new
end
end
when String
@io = FileInputMethod.new(input_method)
@irb_name = File.basename(input_method)
@irb_path = input_method
else
@io = input_method
end
self.save_history = IRB.conf[:SAVE_HISTORY] if IRB.conf[:SAVE_HISTORY]
if output_method
@output_method = output_method
else
@output_method = StdioOutputMethod.new
end
@echo = IRB.conf[:ECHO]
if @echo.nil?
@echo = true
end
self.debug_level = IRB.conf[:DEBUG_LEVEL]
end
Instance Attribute Details
#ap_name (rw)
A copy of the default IRB.conf[:AP_NAME]
# File 'lib/irb/context.rb', line 126
attr_accessor :ap_name
#auto_indent_mode (rw)
Can be either the default IRB.conf[:AUTO_INDENT], or the mode set by #prompt_mode=
To enable auto-indentation in irb:
IRB.conf[:AUTO_INDENT] = true
or
irb_context.auto_indent_mode = true
or
IRB.CurrentContext.auto_indent_mode = true
See IRB@Configuration for more information.
# File 'lib/irb/context.rb', line 179
attr_accessor :auto_indent_mode
#back_trace_limit (rw)
The limit of backtrace lines displayed as top n and tail n.
The default value is 16.
Can also be set using the --back-trace-limit command line option.
See IRB@Command+line+options for more command line options.
# File 'lib/irb/context.rb', line 224
attr_accessor :back_trace_limit
#debug? ⇒ Boolean (readonly)
Whether or not debug mode is enabled, see #debug_level=.
# File 'lib/irb/context.rb', line 373
def debug? @debug_level > 0 end
#debug_level (rw)
The debug level of irb
See #debug_level= for more information.
# File 'lib/irb/context.rb', line 215
attr_reader :debug_level
#debug_level=(value) (rw)
Sets the debug level of irb
Can also be set using the --irb_debug command line option.
See IRB@Command+line+options for more command line options.
# File 'lib/irb/context.rb', line 367
def debug_level=(value) @debug_level = value RubyLex.debug_level = value end
#echo? (rw)
Alias for #echo.
# File 'lib/irb/context.rb', line 232
alias echo? echo
#eval_history (rw)
The command result history limit.
# File 'lib/irb/ext/history.rb', line 33
attr_reader :eval_history
#eval_history=(no) (rw)
Sets command result history limit.
no is an Integer or nil.
Returns no of history items if greater than 0.
If no is 0, the number of history items is unlimited.
If no is nil, execution result history isn't used (default).
# File 'lib/irb/ext/history.rb', line 43
def eval_history=(no) if no if defined?(@eval_history) && @eval_history @eval_history_values.size(no) else @eval_history_values = History.new(no) IRB.conf[:__TMP__EHV__] = @eval_history_values @workspace.evaluate(self, "__ = IRB.conf[:__TMP__EHV__]") IRB.conf.delete(:__TMP_EHV__) end else @eval_history_values = nil end @eval_history = no end
#file_input? ⇒ Boolean (readonly)
[ GitHub ]
# File 'lib/irb/context.rb', line 291
def file_input? @io.class == FileInputMethod end
#history_file (rw)
A copy of the default IRB.conf[:HISTORY_FILE]
#history_file=(hist) (rw)
Set IRB.conf[:HISTORY_FILE] to the given hist.
#ignore_eof? (rw)
Alias for #ignore_eof.
# File 'lib/irb/context.rb', line 231
alias ignore_eof? ignore_eof
#ignore_sigint? (rw)
Alias for #ignore_sigint.
# File 'lib/irb/context.rb', line 230
alias ignore_sigint? ignore_sigint
#inspect? ⇒ Boolean (readonly)
Whether #inspect_mode is set or not, see #inspect_mode= for more detail.
See additional method definition at file lib/irb/context.rb line 285.
# File 'lib/irb/ext/math-mode.rb', line 42
def inspect? @inspect_mode.nil? or @inspect_mode end
#inspect_mode (rw)
A copy of the default IRB.conf[:INSPECT_MODE]
# File 'lib/irb/context.rb', line 145
attr_reader :inspect_mode
#inspect_mode=(opt) (rw)
Specifies the inspect mode with opt:
true-
display #inspect
false-
display #to_s
nil-
inspect mode in non-math mode, non-inspect mode in math mode
See Inspector for more information.
Can also be set using the --inspect and --noinspect command line options.
See IRB@Command+line+options for more command line options.
# File 'lib/irb/context.rb', line 308
def inspect_mode=(opt) if i = Inspector::INSPECTORS[opt] @inspect_mode = opt @inspect_method = i i.init else case opt when nil if Inspector.keys_with_inspector(Inspector::INSPECTORS[true]).include?(@inspect_mode) self.inspect_mode = false elsif Inspector.keys_with_inspector(Inspector::INSPECTORS[false]).include?(@inspect_mode) self.inspect_mode = true else puts "Can't switch inspect mode." return end when /^\s*\{.*\}\s*$/ begin inspector = eval "proc#{opt}" rescue Exception puts "Can't switch inspect mode(#{opt})." return end self.inspect_mode = inspector when Proc self.inspect_mode = IRB::Inspector(opt) when Inspector prefix = "usr%d" i = 1 while Inspector::INSPECTORS[format(prefix, i)]; i += 1; end @inspect_mode = format(prefix, i) @inspect_method = opt Inspector.def_inspector(format(prefix, i), @inspect_method) else puts "Can't switch inspect mode(#{opt})." return end end print "Switch to#{unless @inspect_mode; ' non';end} inspect mode.\n" if verbose? @inspect_mode end
#io (rw)
The current input method
Can be either StdioInputMethod, ReadlineInputMethod, FileInputMethod or other specified when the context is created. See .new for more information on input_method.
# File 'lib/irb/context.rb', line 121
attr_accessor :io
#irb (rw)
Current irb session
# File 'lib/irb/context.rb', line 124
attr_accessor :irb
#irb_name (rw)
Can be either name from IRB.conf[:IRB_NAME], or the number of the current job set by JobManager, such as irb#2
# File 'lib/irb/context.rb', line 133
attr_accessor :irb_name
#irb_path (rw)
[ GitHub ]# File 'lib/irb/context.rb', line 136
attr_accessor :irb_path
#last_value (readonly)
The return value of the last statement evaluated.
# File 'lib/irb/context.rb', line 257
attr_reader :last_value
#load_modules (rw)
A copy of the default IRB.conf[:LOAD_MODULES]
# File 'lib/irb/context.rb', line 130
attr_accessor :load_modules
#math? (readonly)
Alias for #math_mode.
# File 'lib/irb/ext/math-mode.rb', line 20
alias math? math_mode
#math_mode (rw) Also known as: #math?
Returns whether bc mode is enabled.
See #math_mode=
# File 'lib/irb/ext/math-mode.rb', line 18
attr_reader :math_mode
#math_mode=(opt) (rw)
Sets bc mode, which loads lib/mathn.rb so fractions or matrix are available.
Also available as the -m command line option.
See IRB@Command+line+options and the unix manpage bc(1) for more information.
#prompt_c (rw)
::IRB prompt for continuated statement (e.g. immediately after an if)
See IRB@Customizing+the+IRB+Prompt for more information.
# File 'lib/irb/context.rb', line 160
attr_accessor :prompt_c
#prompt_i (rw)
Standard IRB prompt
See IRB@Customizing+the+IRB+Prompt for more information.
# File 'lib/irb/context.rb', line 152
attr_accessor :prompt_i
#prompt_mode (rw)
A copy of the default IRB.conf[:PROMPT_MODE]
# File 'lib/irb/context.rb', line 148
attr_reader :prompt_mode
#prompt_mode=(mode) (rw)
Sets the mode of the prompt in this context.
See IRB@Customizing+the+IRB+Prompt for more information.
# File 'lib/irb/context.rb', line 269
def prompt_mode=(mode) @prompt_mode = mode pconf = IRB.conf[:PROMPT][mode] @prompt_i = pconf[:PROMPT_I] @prompt_s = pconf[:PROMPT_S] @prompt_c = pconf[:PROMPT_C] @prompt_n = pconf[:PROMPT_N] @return_format = pconf[:RETURN] if ai = pconf.include?(:AUTO_INDENT) @auto_indent_mode = ai else @auto_indent_mode = IRB.conf[:AUTO_INDENT] end end
#prompt_n (rw)
See IRB@Customizing+the+IRB+Prompt for more information.
# File 'lib/irb/context.rb', line 162
attr_accessor :prompt_n
#prompt_s (rw)
::IRB prompt for continuated strings
See IRB@Customizing+the+IRB+Prompt for more information.
# File 'lib/irb/context.rb', line 156
attr_accessor :prompt_s
#prompting? ⇒ Boolean (readonly)
Whether #verbose? is true, and input_method is either StdioInputMethod or ReadlineInputMethod, see #io for more information.
# File 'lib/irb/context.rb', line 251
def prompting? verbose? || (STDIN.tty? && @io.kind_of?(StdioInputMethod) || (defined?(ReadlineInputMethod) && @io.kind_of?(ReadlineInputMethod))) end
#rc? (rw)
Alias for #rc.
# File 'lib/irb/context.rb', line 229
alias rc? rc
#return_format (rw)
The format of the return statement, set by #prompt_mode= using the :RETURN of the mode passed to set the current #prompt_mode.
# File 'lib/irb/context.rb', line 182
attr_accessor :return_format
#save_history (rw)
A copy of the default IRB.conf[:SAVE_HISTORY]
#save_history=(val) (rw)
Sets IRB.conf[:SAVE_HISTORY] to the given val and calls #init_save_history with this context.
Will store the number of val entries of history in the #history_file
Add the following to your .irbrc to change the number of history entries stored to 1000:
IRB.conf[:SAVE_HISTORY] = 1000
# File 'lib/irb/ext/save-history.rb', line 38
def save_history=(val) IRB.conf[:SAVE_HISTORY] = val if val main_context = IRB.conf[:MAIN_CONTEXT] main_context = self unless main_context main_context.init_save_history end end
#thread (readonly)
The current thread in this context
# File 'lib/irb/context.rb', line 115
attr_reader :thread
#use_loader (rw) Also known as: #use_loader?
Returns whether #irb's own file reader method is used by load/require or not.
This mode is globally affected (irb-wide).
#use_loader=(opt) (rw)
Sets IRB.conf
See #use_loader for more information.
# File 'lib/irb/ext/use-loader.rb', line 49
def use_loader=(opt) if IRB.conf[:USE_LOADER] != opt IRB.conf[:USE_LOADER] = opt if opt if !$".include?("irb/cmd/load") end (class<<@workspace.main;self;end).instance_eval { alias_method :load, :irb_load alias_method :require, :irb_require } else (class<<@workspace.main;self;end).instance_eval { alias_method :load, :__original__load__IRB_use_loader__ alias_method :require, :__original__require__IRB_use_loader__ } end end print "Switch to load/require#{unless use_loader; ' non';end} trace mode.\n" if verbose? opt end
#use_loader? (rw)
Alias for #use_loader.
# File 'lib/irb/ext/use-loader.rb', line 44
alias use_loader? use_loader
#use_readline=(opt) (rw)
Obsolete method.
Can be set using the --noreadline and --readline command line options.
See IRB@Command+line+options for more command line options.
# File 'lib/irb/context.rb', line 357
def use_readline=(opt) print "This method is obsolete." print "Do nothing." end
#use_readline? (rw)
Alias for #use_readline.
# File 'lib/irb/context.rb', line 227
alias use_readline? use_readline
#use_tracer=(opt) (rw)
Sets whether or not to use the Tracer library when evaluating statements in this context.
See lib/tracer.rb for more information.
# File 'lib/irb/ext/tracer.rb', line 36
def use_tracer=(opt) if opt Tracer.set_get_line_procs(@irb_path) { |line_no, *rests| @io.line(line_no) } elsif !opt && @use_tracer Tracer.off end @use_tracer=opt end
#use_tracer? (rw)
Alias for #use_tracer.
# File 'lib/irb/ext/tracer.rb', line 30
alias use_tracer? use_tracer
#verbose (rw)
Whether verbose messages are displayed or not.
A copy of the default IRB.conf[:VERBOSE]
# File 'lib/irb/context.rb', line 211
attr_accessor :verbose
#verbose? ⇒ Boolean (rw)
Returns whether messages are displayed or not.
# File 'lib/irb/context.rb', line 235
def verbose? if @verbose.nil? if defined?(ReadlineInputMethod) && @io.kind_of?(ReadlineInputMethod) false elsif !STDIN.tty? or @io.kind_of?(FileInputMethod) true else false end else @verbose end end
#workspace (rw)
WorkSpace in the current context
# File 'lib/irb/context.rb', line 113
attr_accessor :workspace
#workspace_home (readonly)
The toplevel workspace, see #home_workspace
# File 'lib/irb/context.rb', line 111
attr_reader :workspace_home
Instance Method Details
#__exit__
[ GitHub ]# File 'lib/irb/context.rb', line 386
alias __exit__ exit
#__inspect__
[ GitHub ]# File 'lib/irb/context.rb', line 396
alias __inspect__ inspect
#__to_s__
[ GitHub ]# File 'lib/irb/context.rb', line 416
alias __to_s__ to_s
#_set_last_value(value)
Alias for #set_last_value.
# File 'lib/irb/ext/history.rb', line 19
alias _set_last_value set_last_value
#change_workspace(*_main)
Changes the current workspace to given object or binding.
If the optional argument is omitted, the workspace will be #home_workspace which is inherited from TOPLEVEL_BINDING or the main object, IRB.conf[:MAIN_CONTEXT] when irb was initialized.
See WorkSpace.new for more information.
# File 'lib/irb/ext/change-ws.rb', line 31
def change_workspace(*_main) if _main.empty? @workspace = home_workspace return main end @workspace = WorkSpace.new(_main[0]) if !(class<<main;ancestors;end).include?(ExtendCommandBundle) main.extend ExtendCommandBundle end end
#echo (rw) Also known as: #echo?
Whether to echo the return value to output or not.
Uses IRB.conf if available, or defaults to true.
puts "hello"
# hello
#=> nil
IRB.CurrentContext.echo = false
puts "omg"
# omg
# File 'lib/irb/context.rb', line 207
attr_accessor :echo
#exit(ret = 0)
Exits the current session, see IRB.irb_exit
#home_workspace
Inherited from TOPLEVEL_BINDING.
# File 'lib/irb/ext/change-ws.rb', line 16
def home_workspace if defined? @home_workspace @home_workspace else @home_workspace = @workspace end end
#ignore_eof (rw) Also known as: #ignore_eof?
Whether ^D (control-d) will be ignored or not.
If set to false, ^D will quit irb.
# File 'lib/irb/context.rb', line 196
attr_accessor :ignore_eof
#ignore_sigint (rw) Also known as: #ignore_sigint?
Whether ^C (control-c) will be ignored or not.
If set to false, ^C will quit irb.
If set to true,
-
during input: cancel input then return to top level.
-
during execute: abandon current execution.
# File 'lib/irb/context.rb', line 192
attr_accessor :ignore_sigint
#irb_level
Size of the current WorkSpace stack
# File 'lib/irb/ext/workspaces.rb', line 16
def irb_level workspace_stack.size end
#main
The top-level workspace, see WorkSpace#main
# File 'lib/irb/context.rb', line 106
def main @workspace.main end
#pop_workspace
Removes the last element from the current #workspaces stack and returns it, or nil if the current workspace stack is empty.
Also, see #push_workspace.
# File 'lib/irb/ext/workspaces.rb', line 57
def pop_workspace if workspaces.empty? print "workspace stack empty\n" return end @workspace = workspaces.pop end
#push_workspace(*_main)
Creates a new workspace with the given object or binding, and appends it onto the current #workspaces stack.
See #change_workspace and WorkSpace.new for more information.
# File 'lib/irb/ext/workspaces.rb', line 34
def push_workspace(*_main) if _main.empty? if workspaces.empty? print "No other workspace\n" return nil end ws = workspaces.pop workspaces.push @workspace @workspace = ws return workspaces end workspaces.push @workspace @workspace = WorkSpace.new(@workspace.binding, _main[0]) if !(class<<main;ancestors;end).include?(ExtendCommandBundle) main.extend ExtendCommandBundle end end
#rc (rw) Also known as: #rc?
A copy of the default IRB.conf[:RC]
# File 'lib/irb/context.rb', line 128
attr_accessor :rc
#set_last_value(value) Also known as: #_set_last_value
Sets the return value from the last statement evaluated in this context to #last_value.
See additional method definition at file lib/irb/context.rb line 261.
# File 'lib/irb/ext/history.rb', line 21
def set_last_value(value) @last_value = value @workspace.evaluate self, "_ = IRB.CurrentContext.last_value" end
#to_s
Alias for #inspect.
# File 'lib/irb/context.rb', line 417
alias to_s inspect
#use_readline (rw) Also known as: #use_readline?
Whether Readline is enabled or not.
A copy of the default IRB.conf[:USE_READLINE]
See #use_readline= for more information.
# File 'lib/irb/context.rb', line 143
attr_reader :use_readline
#use_tracer (rw) Also known as: #use_tracer?
Whether Tracer is used when evaluating statements in this context.
See lib/tracer.rb for more information.
# File 'lib/irb/ext/tracer.rb', line 29
attr_reader :use_tracer
#workspaces
WorkSpaces in the current stack
# File 'lib/irb/ext/workspaces.rb', line 21
def workspaces if defined? @workspaces @workspaces else @workspaces = [] end end