“foo” ^^^^^
‘foo` ^^^^^
Starts tracing object allocations.
Stop tracing object allocations.
Note that if ::trace_object_allocations_start
is called n-times, then tracing will stop after calling ::trace_object_allocations_stop
n-times.
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]
Creates a new Socket::Option
object for IP_MULTICAST_TTL.
The size is dependent on the platform.
p Socket::Option.ipv4_multicast_ttl(10) #=> #<Socket::Option: INET IP MULTICAST_TTL 10>
Returns the ipv4_multicast_ttl
data in sockopt as an integer.
sockopt = Socket::Option.ipv4_multicast_ttl(10) p sockopt.ipv4_multicast_ttl => 10
Creates a new Socket::Option
object for IP_MULTICAST_LOOP.
The size is dependent on the platform.
sockopt = Socket::Option.int(:INET, :IPPROTO_IP, :IP_MULTICAST_LOOP, 1) p sockopt.int => 1 p Socket::Option.ipv4_multicast_loop(10) #=> #<Socket::Option: INET IP MULTICAST_LOOP 10>
Returns the ipv4_multicast_loop
data in sockopt as an integer.
sockopt = Socket::Option.ipv4_multicast_loop(10) p sockopt.ipv4_multicast_loop => 10
Regular gems take precedence over default gems
Gems higher up in gem_path
take precedence
Check state file is writable. Creates empty file if not present to ensure we can write to it.
Creates windows .bat files for easy running of commands
Creates the scripts to run the applications in the gem.
Return the text for an application file.