class RGL::Edge::DirectedEdge
Simply a directed pair (source -> target). Most library functions try do omit to instantiate edges. They instead use two vertex parameters for representing edges (see each_edge). If a client wants to store edges explicitly DirectedEdge or UnDirectedEdge instances are returned (i.e. RGL::Graph#edges).
Attributes
source[RW]
target[RW]
Public Class Methods
[](*a)
click to toggle source
Can be used to create an edge from a two element array.
# File lib/rgl/base.rb, line 38 def self.[](*a) new(a[0], a[1]) end
new(a, b)
click to toggle source
Create a new DirectedEdge with source a and target b.
# File lib/rgl/base.rb, line 44 def initialize(a, b) @source, @target = a, b end
Public Instance Methods
<=>(e)
click to toggle source
Sort support is dispatched to the <=> method of Array
# File lib/rgl/base.rb, line 91 def <=> e self.to_a <=> e.to_a end
[](index)
click to toggle source
eql?(edge)
click to toggle source
Two directed edges (u,v) and (x,y) are equal iff u == x and v == y. eql? is needed when edges are inserted into a Set. eql? is aliased to ==.
# File lib/rgl/base.rb, line 51 def eql?(edge) (source == edge.source) && (target == edge.target) end
Also aliased as: ==
hash()
click to toggle source
# File lib/rgl/base.rb, line 57 def hash source.hash ^ target.hash end
inspect()
Alias for: to_s
reverse()
click to toggle source
Returns (v,u) if self == (u,v).
# File lib/rgl/base.rb, line 63 def reverse self.class.new(target, source) end
to_a()
click to toggle source
Returns the array [source,target].
# File lib/rgl/base.rb, line 85 def to_a [source, target] end
to_s()
click to toggle source
DirectedEdge.to_s == “(1-2)”
# File lib/rgl/base.rb, line 76 def to_s "(#{source}-#{target})" end
Also aliased as: inspect