Updated: July 2020 This article looks at how the
constrain block can be used instead of using multiple IF/ELSE blocks.
This is not a one-size-fits-all, and there are definitely times where if statements will be preferable, however, I have found lots of scenarios where this is useful. It is ideal for something like a font size or line width where you want to make sure that the values don’t become too small, or prevent negative values.
If you have more suggestions of places to use this then let me know!
The demo itself is very simple - there are two buttons changing the
Slider1 value property of the slider, but obviously this technique will work for any variable in your app.
When the app loads for the first time you’ll need a variable to store the value you’re monitoring, in this case it’s the
MAX_VALUE is the upper limit for our variable and the
MIN_VALUE is our lower limit. Every time a button is pressed the
current_value is incremented. To ensure that the value doesn’t go beyond our predetermined constraints we can create the following function:
Now when either of the buttons is clicked you can change the value of
current_value and then call the
applyConstraints function to make sure it stays within your predefined bounds.
Here’s the project page for this example, please feel free to remix it to take a close look at the blocks: