Coder Social home page Coder Social logo

Comments (6)

Ralith avatar Ralith commented on August 16, 2024

Have you read the API docs for those types?

from hecs.

genusistimelord avatar genusistimelord commented on August 16, 2024

yes I have and they did not make sense to me tbh.

https://docs.rs/hecs/latest/hecs/struct.With.html if this is what your talking about.
as when I look at this it doesn't really tell me what Q and R are for. so its a trail and error game to figure it out.

Also with Satisfies I am guessing it just a boolean to determine if something Exists. Can it be mixed with With and Without?

from hecs.

Ralith avatar Ralith commented on August 16, 2024

it doesn't really tell me what Q and R are for

The example illustrates a query where Q is evaluated, but restricted to entities that match R. It also cites a similar illustration in QueryBorrow::with.

Can it be mixed with With and Without?

If a type variable is introduced like Q: Query, that means it can accept any type that implements Query. All of With, Without, and Satisfies implement Query.

from hecs.

genusistimelord avatar genusistimelord commented on August 16, 2024

sorry I just did not understand the example itself. So i had to make a little test that printed off what it did find in each query. Just saying it would be nice to just have it Say on there either in the description or a comment above the example explaining what it is doing. Also adding the assert kind of works but maybe adding another assert that fails due to lets say c not existing in the queue would help make it more obvious. It is just a different way of thinking on my part sorry.

I can Expand the docs if you would like and add more examples for things. just I gotta figure out how to use each part. could you show me an example of how to use Satisfies with With and Without on how it might be used to determine if something should be shown or not maybe.

from hecs.

Ralith avatar Ralith commented on August 16, 2024

Thanks for the feedback; I agree that referring to the type parameters by name improves clarity here.

I don't think we specifically need examples of combining these in particular. You can always use any type that implements Query in any type variable that requires Query, just like with any other Rust generics. For example, With<Without<Satisfies<Q>, R>, S> gives you a query that yields a bool indicating whether an entity matches Q for each entity that matches S and does not match R.

from hecs.

genusistimelord avatar genusistimelord commented on August 16, 2024

Ahh nice. Yeah, the more clarity there is the better and easier it becomes to learn.

from hecs.

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.