Local variables and naming conventions in Ruby - Time & Space Complexity
We want to see how the way we name and use local variables affects how long a program takes to run.
Does choosing different names or using many local variables change the speed?
Analyze the time complexity of the following code snippet.
def sum_array(numbers)
total = 0
numbers.each do |num|
total += num
end
total
end
This code adds up all numbers in an array using a local variable named total.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Looping through each number in the array.
- How many times: Once for every item in the array.
As the array gets bigger, the program does more additions, one for each number.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 additions |
| 100 | 100 additions |
| 1000 | 1000 additions |
Pattern observation: The work grows directly with the number of items.
Time Complexity: O(n)
This means the time to finish grows in a straight line as the input size grows.
[X] Wrong: "Using longer or more descriptive variable names will slow down the program."
[OK] Correct: Variable names are only for humans reading the code; the computer runs at the same speed regardless of name length.
Understanding that naming variables well helps people, not the computer, shows you care about clear code and good teamwork.
"What if we replaced the loop with a built-in method like sum? How would the time complexity change?"
Practice
Solution
Step 1: Check the first character of each variable name
Local variables must start with a lowercase letter or underscore. 'user_name' starts with 'u' which is lowercase.Step 2: Check for invalid characters
Variable names cannot contain hyphens or start with numbers. 'user-name' has a hyphen and '1username' starts with a number, so they are invalid.Final Answer:
user_name -> Option AQuick Check:
Valid local variable = user_name [OK]
- Starting variable names with uppercase letters
- Using hyphens instead of underscores
- Starting variable names with numbers
Solution
Step 1: Identify invalid characters in variable names
Ruby variable names can only contain letters, digits, and underscores. Hyphens are not allowed.Step 2: Check each option for invalid characters
temp-var has a hyphen, which causes a syntax error. The others are valid.Final Answer:
temp-var -> Option AQuick Check:
Hyphens cause syntax errors in variable names [OK]
- Using hyphens instead of underscores
- Confusing uppercase and lowercase letters
- Starting variable names with digits
def greet name = "Alice" Name = "Bob" puts name end greet
Solution
Step 1: Understand variable naming and scope
In Ruby, local variables start with lowercase letters, constants start with uppercase. 'name' is local variable, 'Name' is a constant.Step 2: Check which variable is printed
The code prints 'name', which is "Alice". The constant 'Name' is not used in the puts statement.Final Answer:
Alice -> Option BQuick Check:
Local variable 'name' prints "Alice" [OK]
- Confusing constants with local variables
- Assuming uppercase variable prints
- Ignoring case sensitivity
def calculate total = 10 Total = 20 puts Total + total end calculate
Solution
Step 1: Analyze variable types and naming
'total' is a local variable, 'Total' is a constant. Both are defined before use.Step 2: Evaluate the expression in puts
Adding 'Total' (20) and 'total' (10) results in 30. No syntax or runtime errors occur.Final Answer:
No error, outputs 30 -> Option CQuick Check:
Constant + local variable sums correctly [OK]
- Assuming case-insensitive variables
- Expecting syntax error from uppercase variable
- Confusing constants with local variables
Solution
Step 1: Check Ruby naming conventions for local variables
Local variables should start with lowercase letters or underscores and use underscores to separate words for clarity.Step 2: Evaluate each option for clarity and convention
'user_age' uses lowercase and underscores, making it clear and conventional. 'UserAge' starts uppercase (looks like constant), 'user-age' has invalid hyphen, 'userAge' uses camelCase which is less common in Ruby.Final Answer:
user_age -> Option DQuick Check:
Use lowercase with underscores for clear local variables [OK]
- Using camelCase instead of snake_case
- Starting variable names with uppercase letters
- Using hyphens in variable names
Ready to prove it?
Pass the test and this pattern moves unknown
