Giter VIP home page Giter VIP logo

Comments (4)

emirpasic avatar emirpasic commented on July 22, 2024 2

Not at the moment, but somebody proposed something interesting:

All three, including yourself, are asking for the same thing more or less, i.e. the ability to get the iterator from a specific location. For key-value structures that's the key, for others perhaps the index.

Not sure if I will call it list.IteratorAt(1) / tree.iteratorAt('someKey') or seek(), but this will definitively be implemented in future! Keeping this issue open until it's implemented on all structures that can be iterated.

from gods.

emirpasic avatar emirpasic commented on July 22, 2024 1

@mcauto I don't have a strong opinion on either.

so SetIndex() and SetKey() would move the iterator to the given index/key, right?

from gods.

mcauto avatar mcauto commented on July 22, 2024

I think making setter method in iterator is better than IteratorAt() or seek()
What do you think?

from gods.

emirpasic avatar emirpasic commented on July 22, 2024

#189 Implements the NextTo iterator function.

@mcauto please let me know if the below implements the requested functionality so that I can reopen this issue:

	seek := func(index int, value interface{}) bool {
		return index == 3
	}
	for found := it.NextTo(seek); found; found = it.Next() {
		index, value := it.Index(), it.Value()
	}

PS. I hope that this NextTo function can support the requested functionality rather than adding more functions (SetIndex and SetKey). The reason is to keep GoDS as minimal as possible and yet flexible. But please let me know if it is not what you asked for and I'll reevaluate again, adding SetIndex and SetKey is simple

from gods.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.