Method: NetworkX::Graph#each_edge

Defined in:
lib/networkx/graph.rb

#each_edge(data: false) ⇒ Object

[TODO][EXPERIMENTAL]

Parameters:

  • data (bool) (defaults to: false)

    true if you want data of each edge



249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
# File 'lib/networkx/graph.rb', line 249

def each_edge(data: false)
  return enum_for(:each_edge, data: data) unless block_given?

  h = {}
  @adj.each do |v, ws|
    ws.each do |w, info|
      next if v > w

      h[[v, w, info]] = true
    end
  end
  if data
    h.each { |(v, w, info), _true| yield(v, w, info) }
  else
    h.each { |(v, w, _info), _true| yield(v, w) }
  end
end