Bird
Raised Fist0
PowerShellscripting~10 mins

Return values in PowerShell - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to return the sum of two numbers.

PowerShell
function Add-Numbers {
  param($a, $b)
  return $a [1] $b
}
Add-Numbers 3 4
Drag options to blanks, or click blank then click option'
A+
B-
C/
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using subtraction or multiplication instead of addition.
Forgetting to use the return keyword.
2fill in blank
medium

Complete the code to return the length of a string.

PowerShell
function Get-Length {
  param($text)
  return $text.[1]
}
Get-Length 'hello'
Drag options to blanks, or click blank then click option'
ASize
BLength()
CCount
DLength
Attempts:
3 left
💡 Hint
Common Mistakes
Using Length() as a method instead of a property.
Using Count which is for collections, not strings.
3fill in blank
hard

Fix the error in the function to correctly return the square of a number.

PowerShell
function Get-Square {
  param($num)
  return $num [1] 2
}
Get-Square 5
Drag options to blanks, or click blank then click option'
A^^
B^
C**
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using ^ which is bitwise XOR in PowerShell.
Using multiplication * which is not exponentiation.
4fill in blank
hard

Fill both blanks to return only even numbers from a list.

PowerShell
$numbers = 1..10
function Get-Evens {
  param($nums)
  return $nums | Where-Object { $_ [1] 2 [2] 0 }
}
Get-Evens $numbers
Drag options to blanks, or click blank then click option'
A%
B==
C-eq
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using == which is not the equality operator in PowerShell.
Using != which means not equal.
5fill in blank
hard

Fill all three blanks to return a dictionary of words and their lengths for words longer than 3 characters.

PowerShell
$words = @('cat', 'house', 'dog', 'elephant')
$result = @{}
foreach ($word in $words) {
  if ($word.[1] [2] 3) {
    $result[$word] = $word.[3]
  }
}
$result
Drag options to blanks, or click blank then click option'
ALength
B-gt
C-le
D-lt
Attempts:
3 left
💡 Hint
Common Mistakes
Using -le or -lt which mean less or less equal.
Using wrong property names or operators.

Practice

(1/5)
1. What does the return keyword do in a PowerShell function?
easy
A. It prints a message to the screen.
B. It sends a value back to the place where the function was called.
C. It stops the script from running completely.
D. It creates a new variable inside the function.

Solution

  1. Step 1: Understand the purpose of return

    The return keyword in PowerShell is used inside a function to send a value back to the caller.
  2. Step 2: Differentiate from other actions

    It does not stop the entire script, print messages, or create variables; it only sends back a result.
  3. Final Answer:

    It sends a value back to the place where the function was called. -> Option B
  4. Quick Check:

    Return keyword = sends value back [OK]
Hint: Remember: return sends data back from a function [OK]
Common Mistakes:
  • Thinking return stops the whole script
  • Confusing return with Write-Host output
  • Assuming return creates variables
2. Which of the following is the correct syntax to return a value from a PowerShell function?
easy
A. return $value
B. send $value
C. output $value
D. yield $value

Solution

  1. Step 1: Identify the correct keyword for returning values

    In PowerShell, the keyword to return a value from a function is return.
  2. Step 2: Check syntax correctness

    The correct syntax is return $value. Other options like send, output, or yield are not valid PowerShell keywords for returning values.
  3. Final Answer:

    return $value -> Option A
  4. Quick Check:

    Return syntax = return $value [OK]
Hint: Use 'return' keyword to send back values [OK]
Common Mistakes:
  • Using non-existent keywords like send or yield
  • Omitting the return keyword
  • Confusing return with Write-Output
3. What will be the output of this PowerShell code?
function Get-Square {
  param($num)
  return $num * $num
}
$result = Get-Square -num 4
Write-Output $result
medium
A. 8
B. 4
C. 16
D. Error

Solution

  1. Step 1: Understand the function logic

    The function Get-Square takes a number and returns its square by multiplying the number by itself.
  2. Step 2: Calculate the return value for input 4

    4 multiplied by 4 equals 16, so the function returns 16.
  3. Final Answer:

    16 -> Option C
  4. Quick Check:

    4 * 4 = 16 [OK]
Hint: Multiply input by itself to find square [OK]
Common Mistakes:
  • Returning the input instead of its square
  • Confusing multiplication with addition
  • Expecting an error due to syntax
4. Identify the error in this PowerShell function that is supposed to return the sum of two numbers:
function Add-Numbers {
  param($a, $b)
  $sum = $a + $b
  Write-Host $sum
}
medium
A. The function does not use the return keyword to send back the sum.
B. The parameters are not declared correctly.
C. The addition operator '+' is invalid in PowerShell.
D. The variable $sum is not assigned properly.

Solution

  1. Step 1: Check how the function returns the result

    The function uses Write-Host to display the sum but does not use return to send the value back to the caller.
  2. Step 2: Understand the difference between output and return

    Write-Host sends output to the pipeline but does not return a value from the function in the expected way for assignment.
  3. Final Answer:

    The function does not use the return keyword to send back the sum. -> Option A
  4. Quick Check:

    Return keyword needed to send value back [OK]
Hint: Use return to send values back, not just Write-Host [OK]
Common Mistakes:
  • Confusing Write-Host with return
  • Thinking parameters are wrong
  • Believing '+' is invalid operator
5. You want to create a PowerShell function that returns the first non-empty string from a list of inputs. Which function correctly returns the first non-empty string?
hard
A. function Get-FirstNonEmpty { param([string[]]$inputs) return $inputs[0] }
B. function Get-FirstNonEmpty { param([string[]]$inputs) foreach ($item in $inputs) { if ($item -eq '') { return $item } } return $null }
C. function Get-FirstNonEmpty { param([string[]]$inputs) foreach ($item in $inputs) { if (-not $item) { return $item } } return 'empty' }
D. function Get-FirstNonEmpty { param([string[]]$inputs) foreach ($item in $inputs) { if ($item) { return $item } } return '' }

Solution

  1. Step 1: Understand the goal

    The function should return the first string that is not empty or null from the input list.
  2. Step 2: Analyze each option

    function Get-FirstNonEmpty { param([string[]]$inputs) foreach ($item in $inputs) { if ($item) { return $item } } return '' } checks if the item is truthy (non-empty), then returns it immediately, else returns empty string if none found. function Get-FirstNonEmpty { param([string[]]$inputs) foreach ($item in $inputs) { if ($item -eq '') { return $item } } return $null } returns empty strings, which is wrong. function Get-FirstNonEmpty { param([string[]]$inputs) foreach ($item in $inputs) { if (-not $item) { return $item } } return 'empty' } returns empty or null values, opposite of requirement. function Get-FirstNonEmpty { param([string[]]$inputs) return $inputs[0] } always returns first item without checking if empty.
  3. Final Answer:

    if ($item) { return $item } -> Option D
  4. Quick Check:

    Return first truthy string using if ($item) [OK]
Hint: Return first truthy item with if ($item) inside loop [OK]
Common Mistakes:
  • Returning empty strings instead of non-empty
  • Returning null or empty by mistake
  • Not checking items before returning
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard