Logic and Conditionals

Classes, variables, and simple methods may carry some basic applications a surprisingly long way, but most applications need more logic. This quick tour through Ruby’s control structures will give you more tools for building your applications.

Operators

Your program logic will depend on combining variables with operators into expressions. Those expressions then get resolved into results, which may be used to assign values to variables, or to give an answer about whether a test passed or failed. Most Ruby operators should look familiar if you’ve ever used a programming language before. The following table shows an abbreviated list of operators you’re likely to encounter in your first forays into Rails.

Operator

Use(s)

+

Addition, concatenation, making numbers positive

Subtraction, removing from collections, making numbers negative

*

Multiplication

/

Division

%

Modulo (remainder from integer division)

!

Not

**

Exponentiation (2**3 is 8, 10**4 is 1000)

<<

Shift bits left, or add to a collection

<

Less than

<=

Less than or equal to

>=

Greater than or equal to

>

Greater than

<=>

General comparison—less then yields –1, equal returns 0, greater than 1, and not comparable nil

==

Equal to (note that a single = is just assignment and always returns true)

===

Tests to see whether objects are of same class

!=

Not equal to

=~

Tests a regular expression pattern for a match (see Appendix C)

!~

Tests a regular expression pattern for no match

&&

Boolean AND (use to combine test expressions)

||

Boolean OR

and

Boolean ...

Get Learning Rails now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.