-
Notifications
You must be signed in to change notification settings - Fork 0
Arrays
René Descartes Muala edited this page May 1, 2021
·
1 revision
When we have a group of data that:
- Have a relationship
- Need to be store in a list
- Don't need specific names for each element
Probably an array is the solution to our problem, basically Landb Arrays are lists of data, where every element can be iterated (appended), set(changed) or removed.
- They can have data of multiple types
- They don't have a limit, only temporary ranges
- They indexes start at 0
We use the set()
method in arrays to change it elements.
// Usage
database.set< data_type >("array_name", array_index, element_data, landb_type);
// Example - fruits[2] = "avocado"
database.set< std::string >("fruits", 2, "avocado", lan::String);
The simplest way to get data in landb is the get()
method. Examples:
- getting data from a variable in the main context
// Usage
database.get< data_type >("variable_name", landb_type);
// Example
database.get< std::string >("name", lan::String);
- getting data from an array
// Usage
database.get< data_type >("array_name", array_index, landb_type);
// Example
database.get< std::string >("names", i, lan::String);
The declare()
method is an easy and simple way to declare arrays
. Example program:
// Declaring an array called fruits in main context
database.declare("fruits", lan::Array);
Once we have our fruits
array declared, we can append it by using the iterate()
method:
// Append "mango" to fruits
database.iterate< std::string >("fruits", "mango", lan::String);
// Append "avocado" to fruits
database.iterate< std::string >("fruits", "avocado", lan::String);
// Append "orange" to fruits
database.iterate< std::string >("fruits", "orange", lan::String);
Here we are going to use the set()
method, to change some fruit!
// Changing "avocado" to "banana"
database.set< std::string >("fruits", 1, "banana", lan::String);
The resulting fruit
array should be [s:"mango", s:"banana", s:"orange"]
.
For each fruit in 0...2 print it
for (int i = 0 ; i < 3 ; i ++) {
// Get fruits[I] as std::string
std::cout << database.get< std::string >("fruits", i, lan::String) << std::endl;
}
#include <iostream>
#include "landb.hpp"
int main(int argc, const char * argv[]) {
// Database
lan::db database;
// Declaring an array variable called fruits in main context
database.declare("fruits", lan::Array);
// Append "mango" to fruits
database.iterate< std::string >("fruits", "mango", lan::String);
// Append "avocado" to fruits
database.iterate< std::string >("fruits", "avocado", lan::String);
// Append "orange" to fruits
database.iterate< std::string >("fruits", "orange", lan::String);
// Changing "avocado" to "banana"
database.set< std::string >("fruits", 1, "banana", lan::String);
for (int i = 0 ; i < 3 ; i ++) {
// Get fruits[I] as std::string
std::cout << database.get< std::string >("fruits", i, lan::String) << std::endl;
}
return 0;
}
Go back to Home.