📖 Scenario: Imagine you are building a simple calculator app that can add numbers or combine words. In Ruby, you don't have to tell the program the type of data you are using. This is called dynamic typing. It means Ruby figures out the type while the program runs.
🎯 Goal: You will create variables with different types, use them in a method that adds or combines them, and see how Ruby handles types automatically.
📋 What You'll Learn
Create variables with different types (numbers and strings)
Create a method that adds or combines two inputs
Call the method with different types of inputs
Print the results to see how Ruby handles dynamic typing
💡 Why This Matters
🌍 Real World
Dynamic typing lets Ruby developers write flexible code quickly, useful in web apps, scripts, and automation.
💼 Career
Understanding dynamic typing is key for Ruby developers to write clean, adaptable code and debug type-related issues.
Progress0 / 4 steps
1
Create variables with different types
Create a variable called number1 and set it to 10. Create another variable called text1 and set it to "Hello".
Ruby
Hint
Use = to assign values. Numbers don't need quotes, strings need quotes.
2
Create a method to add or combine inputs
Create a method called add_or_combine that takes two parameters a and b. Inside the method, return the result of a + b.
Ruby
Hint
Use def to define a method and return is optional for the last line.
3
Call the method with different types
Call add_or_combine with number1 and 5, and store the result in result1. Call add_or_combine with text1 and " World", and store the result in result2.
Ruby
Hint
Call the method with variables and values, assign the output to new variables.
4
Print the results
Print result1 and result2 each on a new line using puts.
Ruby
Hint
Use puts to print each result on its own line.
Practice
(1/5)
1. What does it mean that Ruby is dynamically typed?
easy
A. Variables can only hold numbers.
B. Variable types are determined while the program runs.
C. You must declare variable types before using them.
D. The program checks types only at the end.
Solution
Step 1: Understand dynamic typing concept
Dynamic typing means the language figures out variable types during execution, not before.
Step 2: Compare options with definition
Only Variable types are determined while the program runs. correctly states that variable types are decided while running the program.
Final Answer:
Variable types are determined while the program runs. -> Option B
Quick Check:
Dynamic typing = Variable types decided at runtime [OK]
Hint: Dynamic typing means types set during program run [OK]
Common Mistakes:
Thinking variables need type declarations
Confusing dynamic typing with static typing
Believing types are fixed before running
2. Which of the following is the correct way to assign a variable in Ruby?
easy
A. int x = 5
B. x := 5
C. x = 5
D. var x = 5
Solution
Step 1: Recall Ruby variable assignment syntax
Ruby uses simple assignment with = and no type declaration.
Step 2: Check each option
Only x = 5 uses correct Ruby syntax: x = 5.
Final Answer:
x = 5 -> Option C
Quick Check:
Ruby assigns variables with = [OK]
Hint: Ruby uses simple = for assignment, no types needed [OK]
Common Mistakes:
Using type declarations like int or var
Using := which is not Ruby syntax
Confusing Ruby with other languages
3. What will be the output of this Ruby code?
value = 10
value = "hello"
puts value
medium
A. 10
B. nil
C. Error: type mismatch
D. hello
Solution
Step 1: Follow variable assignments
First, value is set to 10 (number), then reassigned to "hello" (string).
Step 2: Understand dynamic typing effect
Ruby allows changing variable types freely, so value now holds "hello".
Final Answer:
hello -> Option D
Quick Check:
Dynamic typing allows value to change type [OK]
Hint: Variables can change type anytime in Ruby [OK]
Common Mistakes:
Expecting a type error on reassignment
Thinking output stays as first assigned value
Confusing Ruby with statically typed languages
4. Identify the error in this Ruby code snippet:
number = 5
number = number + "3"
puts number
medium
A. TypeError: cannot add Integer and String
B. No error, output is 8
C. SyntaxError: invalid syntax
D. Output is '53'
Solution
Step 1: Analyze the operation number + "3"
Adding an integer (5) and a string ("3") is not allowed in Ruby.
Step 2: Identify the error type
This causes a TypeError because Ruby cannot combine different types with +.
Final Answer:
TypeError: cannot add Integer and String -> Option A
Quick Check:
Adding different types causes TypeError [OK]
Hint: Cannot add number and string directly in Ruby [OK]
Common Mistakes:
Assuming Ruby auto-converts types
Expecting output '53' without conversion
Ignoring error messages
5. How does Ruby's dynamic typing help when writing a method that accepts different types of inputs? Consider this method:
def describe(value)
if value.is_a?(String)
"String: #{value}"
elsif value.is_a?(Integer)
"Integer: #{value}"
else
"Other type"
end
end
puts describe(10)
puts describe("hello")
puts describe(3.14)
hard
A. The method works because Ruby allows checking types at runtime.
B. The method requires type declarations to run.
C. The method only works for strings.
D. The method fails because Ruby requires fixed types.
Solution
Step 1: Understand dynamic typing and type checking
Ruby lets you check an object's type during execution using methods like is_a?.
Step 2: Analyze method behavior with different inputs
The method uses is_a? to handle strings, integers, or others dynamically without fixed types.
Final Answer:
The method works because Ruby allows checking types at runtime. -> Option A