Skip to content

Files

Latest commit

3a68f13 · Jul 9, 2025

History

History

language

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
May 6, 2025
Aug 27, 2018
Jun 2, 2025
Jul 30, 2015
Aug 28, 2020
Feb 27, 2023
Dec 27, 2020
Oct 30, 2023
Mar 4, 2018
Aug 3, 2018
Jul 9, 2025
May 6, 2025
May 9, 2024
Jun 7, 2024
Feb 6, 2025
May 31, 2023
Apr 25, 2022
May 5, 2025
Jun 2, 2025
Nov 10, 2024
May 5, 2025
Mar 14, 2024
Mar 26, 2025
May 9, 2024
Aug 2, 2023
Jun 25, 2024
Jul 9, 2025
Jun 26, 2024
May 9, 2024
May 5, 2025
Jun 7, 2024
Jul 27, 2019
Jul 27, 2019
Aug 27, 2018
Nov 3, 2019
Jul 27, 2019
Jul 9, 2025
May 5, 2025
Jul 27, 2019
Mar 4, 2018
Mar 26, 2025
Jan 10, 2022
Feb 6, 2025
Jul 27, 2019
Mar 4, 2018
Feb 4, 2025
Oct 12, 2024
May 28, 2025
Feb 24, 2025
Feb 24, 2025
Jul 27, 2022
Jul 27, 2019
Jan 6, 2025
Mar 26, 2025
May 9, 2024
Aug 2, 2023
Feb 5, 2024
May 31, 2023
Mar 14, 2024
Mar 14, 2024
May 29, 2023
Jun 2, 2025
Jul 3, 2024
Feb 26, 2024
Jul 27, 2019
Feb 24, 2025
Mar 4, 2018
Feb 2, 2019
May 6, 2025
Feb 2, 2019
May 9, 2024
There are numerous possible way of categorizing the entities and concepts that
make up a programming language. Ruby has a fairly large number of reserved
words. These words significantly describe major elements of the language,
including flow control constructs like 'for' and 'while', conditional
execution like 'if' and 'unless', exceptional execution control like 'rescue',
etc. There are also literals for the basic "types" like String, Regexp, Array
and Integer.

Behavioral specifications describe the behavior of concrete entities. Rather
than using concepts of computation to organize these spec files, we use
entities of the Ruby language. Consider looking at any syntactic element of a
Ruby program. With (almost) no ambiguity, one can identify it as a literal,
reserved word, variable, etc. There is a spec file that corresponds to each
literal construct and most reserved words, with the exceptions noted below.
There are also several files that are more difficult to classify: all
predefined variables, constants, and objects (predefined_spec.rb), the
precedence of all operators (precedence_spec.rb), the behavior of assignment
to variables (variables_spec.rb), the behavior of subprocess execution
(execution_spec.rb), the behavior of the raise method as it impacts the
execution of a Ruby program (raise_spec.rb), and the block entities like
'begin', 'do', ' { ... }' (block_spec.rb).

Several reserved words and other entities are combined with the primary
reserved word or entity to which they are related:

false, true, nil, self              predefined_spec.rb
in                                  for_spec.rb
then, elsif                         if_spec.rb
when                                case_spec.rb
catch                               throw_spec.rb