Sheerpower Logo D.1  Understanding Clusters
From a programming perspective, Sheerpower's clusters are highly advantageous, especially for business applications. They allow for flexible and efficient data management by enabling any field within a cluster to be used as a key. This feature simplifies complex data handling, such as dynamically accessing and manipulating data from CSV files or databases. Clusters offer a blend of simplicity and power, streamlining data operations that might otherwise require more elaborate code in other languages.

Often when programming there is a need to combine multiple variables into a single named object. Doing so makes it easier to keep track of your variables and adds clarity to your code. In Sheerpower, we call this object a CLUSTER. Some programming languages call these a struct or a vector.

Each cluster is given a name and a list of variables associated with that name. These variables are sometimes also called cluster members or fields.

Simple clusters have no rows. They are one-dimensional and are typically used to store related information about a single overall concept. For example, below is a cluster that stores the types of food that one has at meal time:
cluster meals: protein$, liquid$, carb$ meals->protein$ = "Eggs" meals->liquid$ = "Tea" meals->carb$ = "Toast"
Notice that the syntax for referencing cluster variables is:
clustername->variablename
If you have multiple clusters all based on the same "root" cluster, such as MEALS, you can define the root cluster once and then reference it when defining related clusters. In this example, we first define a MEALS cluster and then use it to further define breakfast, lunch, and dinner clusters.
cluster meals: protein$, liquid$, carb$ cluster breakfast using meals breakfast->protein$ = "Eggs" breakfast->liquid$ = "Tea" breakfast->carb$ = "Toast" cluster lunch using meals lunch->protein$ = "Chicken" lunch->liquid$ = "Coffee" lunch->carb$ = "Rice" cluster dinner using meals dinner->protein$ = "Steak" dinner->liquid$ = "Wine" dinner->carb$ = "Potatoes"
If you have a routine that requires a lot of data passed into it, using a cluster is a great way to pass in the data.

The print cluster CLUSTERNAME, list statement shows the names of each cluster member and their value. If the member is a string, then inside of () is also shown the length of the string.
Hide Description

    

       


      

Enter or modify the code below, and then click on RUN

Looking for the full power of Sheerpower?
Check out the Sheerpower website. Free to download. Free to use.
Wide screen