- 01Getting Started
- 02Your First Output (puts)
- 03Working with Variables
- 04Conditionals (if statements)
- 05Loops
- 06Writing a Method (Function)
- 07Working with Arrays
- 08Loops (while statements)
- 09Classes (Object-Oriented Programming)
- 10Error Handling (begin...rescue)
- 11Handy Array Methods
- 12Recursive Functions
- 13Using the Standard Library
- 14The case/when Statement
- 15The Ternary Operator
- 16Inheritance (Extending a Class)
- 17Writing Comments
- 18Logical Operators (AND, OR, NOT)
- 19Constants (names starting with a capital)
- 20Splitting and Joining Strings (split, join)
- 21Writing nil-Safe Code
- 22Searching an Array (include?)
- 23Transforming an Array (map)
- 24Two-Dimensional Arrays (Tabular Data)
- 25Writing a Custom Exception Class
- 26Default Parameter Values
- 27Working with Set
- 28Testing with Your Own assert Method
- 29Higher-Order Functions (Passing a Block)
- 30Stacks and Queues (Basic Data Structures)
- 31Type Conversion (Casting) Basics
- 32Intro to Regular Expressions (Pattern Matching)
- 33The Binary Search Algorithm
- 34Building a Caesar Cipher (a Character-Shifting Cipher)
- 35Understanding How Bubble Sort Works
- 36Building and Displaying Dates (Basic Year/Month/Day Operations)
- 37Writing Multiple Test Cases Together
- 38Speeding Up Calculations with Memoization (Caching)
- 39Normalizing Strings (strip, Unifying Case)
- 40Shallow Copy vs. Deep Copy
- 41Enum Basics
- 42Flattening an Array
- 43Reversing a String and Checking for Palindromes
- 44Pairing Up Two Arrays (the zip operation)
- 45Rounding Numbers (floor, ceil, round)
- 46Multi-Line Strings (Heredoc)
- 47Methods That Return Multiple Values
- 48Finding the GCD and LCM
- 49Formatting Numbers (Padding Digits, Decimal Places)
- 50Cleanup Logic with begin/rescue/ensure
- 51Methods That Work with Any Type
- 52File Reading and Writing Basics
- 53Generating Random Numbers
- 54Bitwise Operators (AND, OR, XOR, shifts)
- 55Reading Command-Line Arguments
- 56Waiting for a Fixed Amount of Time (sleep)
- 57Watch Out for Floating-Point Rounding Errors
- 58Reading from Standard Input
- 59FizzBuzz (the Classic Practice Problem)
- 60Checking Whether a Number Is Prime
- 61Set Operations with Set (Union, Intersection, Difference)
- 62Converting Number Bases (Binary, Hex)
- 63Checking Balanced Parentheses (an Application of Stacks)
- 64Checking Whether Two Words Are Anagrams
- 65Checking Whether a Year Is a Leap Year
- 66Converting Temperature (Celsius to Fahrenheit)
- 67Prime Factorization
- 68[Applied] Build a Simple Inventory Management Tool
Type Conversion (Casting) Basics
In this lesson you will learn the basics of type conversion in Ruby so you can move correctly between strings and numbers. This is for anyone searching for "Ruby type conversion to_i to_s".
Type conversion (casting) - string to number, number to string - is a fundamental programming operation. You use .to_i, .to_s, and .to_f. Input from a user always arrives as text, so it must be converted before you can calculate with it.
The sample code turns the string "123" into a number with .to_i and uses it in arithmetic, then turns the number 45 into a string with .to_s and joins it to the word "dollars". Chaining a method onto a value with a dot is consistent, idiomatic Ruby.
A common stumbling block for beginners is what happens when the conversion fails. A string that cannot be converted to a number becomes 0, so instead of an error you quietly get the wrong value. Check first where it matters.
In real-world development, values coming from a form are always strings, so you must convert before doing monetary or date arithmetic. Type-aware code is the foundation of a stable application with fewer bugs.
๐งช This site can't compile or run Ruby directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
