I ran into this problem. Using the inverse method may work, although it may not be the most elegant approach:
require 'rgl/adjacency'
require 'rgl/bidirectional'
class RGL::DirectedAdjacencyGraph
def in_degree(v)
rdg = self.reverse
rdg.adjacent_vertices(v).size
end
def out_degree(v)
self.adjacent_vertices(v).size
end
end
dg=RGL::DirectedAdjacencyGraph[1,2 ,2,3 ,2,4, 4,5, 6,4, 1,6]
p dg.in_degree(2)
p dg.out_degree(2)
p dg.in_degree(1)
p dg.out_degree(3)
The longer answer is that it has not yet been implemented.
, , RGL:: Bidirectional , each_in_neighbor. , - ( ):
require 'rgl/adjacency'
require 'rgl/bidirectional'
class RGL::DirectedAdjacencyGraph
include RGL::BidirectionalGraph
end
dg=RGL::DirectedAdjacencyGraph[1,2 ,2,3 ,2,4, 4,5, 6,4, 1,6]
dg.vertices
p dg.adjacent_vertices(2)
p dg.each_in_neighbor(2)
, , , .
: , node. , , , - node .