Comments (3)
I was always unsure about adding a dict-type, because it may have <gmanvoice> unforseen consequences </gmanvoice>:
Currently you can implement dicts by using a set of objects, and the objects then have some values. Those objects are always referencable, as they have a name. Thus they can always be patched. When we add a real key-value type, values can get lost. If valueType
is an object, the object is always referencable. Non-object values can get lost when it is updated in the dict. Which may not be desirable.
I guess that we should add dicts, though. Intuitively they seem a good addition, and loosing non-object values is probably okay, because who cares for a "random string"
or a number like 235
. If you overwrite it, you likely won't revert.
So all in all I think you are right and we should add a dict-type.
from nyan.
Yes but its huge
Something():
FoodCost(ResourceAmount):
resource: Food
amount: 50
WoodCost(ResourceAmount):
resource: Wood
amount: 50
cost: {FoodCost, WoodCost}
My first thought was some kind of an anonymous object, but then you have something that cannot be referenced so why not just dicts.
Also having a bunch of prebuild WoodCost50, WoodCost75 but again you cannot patch them.
Maybe having a way to inline it, but then it gets ugly...
from nyan.
Yea indeed, so let's go for dict
:)
from nyan.
Related Issues (20)
- Build fails with `nyan/config.h:20:17: error: ‘uint64_t’ does not name a type` and `nyan/config.h:23:17: error: ‘order_t’ does not name a type` with GCC 13.1.1. HOT 2
- Use string views HOT 1
- Replace (un)likely macro with C++20 attribute HOT 1
- Replace `fqon_t` with more advanced identifier type HOT 4
- Releasing a new version? HOT 24
- Fixed point type
- Static library support
- Windows UWP
- Add metaclass like python HOT 5
- Add decorator like python HOT 1
- Syntax highlighting for the web HOT 1
- Allow storing abstract object references in members
- Allow operations with float values for int data type HOT 1
- Hot reloading HOT 6
- Mitigate runtime errors for inf values HOT 1
- Number types compatibility (int<->float) considerations HOT 1
- v0.1 tag failed to compile on Windows HOT 5
- File API HOT 2
- Debian package HOT 6
- Prefix nyan object declarations with keyword `obj`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nyan.