Choose from a list of options. question
is a prompt displayed above the list. list
is a list of option strings. Returns the pair [option_name, option_index].
private functions
Defines a command, registering path
as a Shell
method for the given command
.
Shell::CommandProcessor.def_system_command "ls" #=> Defines ls. Shell::CommandProcessor.def_system_command "sys_sort", "sort" #=> Defines sys_sort as sort
Undefines a command
Iterates through the header names in the header, passing capitalized header names to the code block.
Note that header names are capitalized systematically; capitalization may not match that used by the remote HTTP
server in its response.
Returns an enumerator if no block is given.
Check whether the object_id id
is in the current buffer of objects to be pretty printed. Used to break cycles in chains of objects to be pretty printed.
Asks the user to answer question
with an answer from the given list
.
@!visibility private Enumerates each action in the log @yield [Action]
Return all reachable objects from root.
Sets the basic list of characters that signal a break between words for the completer routine. The default is the characters which break words for completion in Bash: “ tn"\‘`@$><=;|&{(”.
Raises NotImplementedError
if the using readline library does not support.
Gets the basic list of characters that signal a break between words for the completer routine.
Raises NotImplementedError
if the using readline library does not support.
Sets the basic list of characters that signal a break between words for rl_complete_internal(). The default is the value of Readline.basic_word_break_characters
.
Raises NotImplementedError
if the using readline library does not support.
Gets the basic list of characters that signal a break between words for rl_complete_internal().
Raises NotImplementedError
if the using readline library does not support.
Default spec directory path to be used if an alternate value is not specified in the environment
The iterator version of the strongly_connected_components
method. obj.each_strongly_connected_component
is similar to obj.strongly_connected_components.each
, but modification of obj during the iteration may lead to unexpected results.
each_strongly_connected_component
returns nil
.
class G include TSort def initialize(g) @g = g end def tsort_each_child(n, &b) @g[n].each(&b) end def tsort_each_node(&b) @g.each_key(&b) end end graph = G.new({1=>[2, 3], 2=>[4], 3=>[2, 4], 4=>[]}) graph.each_strongly_connected_component {|scc| p scc } #=> [4] # [2] # [3] # [1] graph = G.new({1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}) graph.each_strongly_connected_component {|scc| p scc } #=> [4] # [2, 3] # [1]
The iterator version of the TSort.strongly_connected_components
method.
The graph is represented by each_node and each_child. each_node should have call
method which yields for each node in the graph. each_child should have call
method which takes a node argument and yields for each child node.
g = {1=>[2, 3], 2=>[4], 3=>[2, 4], 4=>[]} each_node = lambda {|&b| g.each_key(&b) } each_child = lambda {|n, &b| g[n].each(&b) } TSort.each_strongly_connected_component(each_node, each_child) {|scc| p scc } #=> [4] # [2] # [3] # [1] g = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]} each_node = lambda {|&b| g.each_key(&b) } each_child = lambda {|n, &b| g[n].each(&b) } TSort.each_strongly_connected_component(each_node, each_child) {|scc| p scc } #=> [4] # [2, 3] # [1]
Returns true, if circular data structures should be checked, otherwise returns false.
Search for the specifications that match the given dependency. The specifications in the returned array will be considered in reverse order, so the latest version ought to be last. @note This method should be ‘pure’, i.e. the return value should depend
only on the `dependency` parameter.
@param [Object] dependency @return [Array<Object>] the specifications that satisfy the given
`dependency`.
The current session cache mode.