Book Image

Learn Red ? Fundamentals of Red

By : Ivo Balbaert
Book Image

Learn Red ? Fundamentals of Red

By: Ivo Balbaert

Overview of this book

A key problem of software development today is software bloat, where huge toolchains and development environments are needed in software coding and deployment. Red significantly reduces this bloat by offering a minimalist but complete toolchain. This is the first introductory book about it, and it will get you up and running with Red as quickly as possible. This book shows you how to write effective functions, reduce code redundancies, and improve code reuse. It will be helpful for new programmers who are starting out with Red to explore its wide and ever-growing package ecosystem and also for experienced developers who want to add Red to their skill set. The book presents the fundamentals of programming in Red and in-depth informative examples using a step-by-step approach. You will be taken through concepts and examples such as doing simple metaprogramming, functions, collections, GUI applications, and more. By the end of the book, you will be fully equipped to start your own projects in Red.
Table of Contents (13 chapters)
11
Assessments

Selecting a file or folder

In the Getting input from the user section in Chapter 3, Using Words, Values, and Types, we saw how to use ask to get user console input. Red also has special words that can be used to ask for a file or a folder.

Using request-file in the REPL or from a script pops up a dialog that prompts the user to select a file from the local file system:

In this screen, you can navigate to the file you need. Pressing the Open button returns the file name with its complete path as a file! ; choosing Cancel returns none. The result from the script is as follows:

;-- see Chapter07/ask-file.red:
file:
request-file
probe file ;== %/E/Red/red.bat ; this file was chosen in File Explorer

In the same way, we have request-dir:

This gives us the following result when the Program Files map is chosen and the OK button pressed:

dir: request-dir
probe dir ...