LearnThatStack Ace your next interview
Ruby · question
Question 12 of 91

What is the safe navigation operator (&.) and when should you use it?

beginner
← All Ruby questions
Re-explain

The safe navigation operator &. calls a method only when the receiver is not nil. When the receiver is nil, it skips the call and returns nil instead of raising NoMethodError.

Use it where nil is an expected value, such as an optional association or a missing hash entry. Each step of a chain needs its own &.. Avoid long &. chains where nil would mean a bug, because they hide the error until later.

It is not exactly the same as &&. &. checks only for nil, so false&.to_s still calls the method. The && version below also calls user.profile twice.

user&.profile&.name  # Returns nil if any part is nil
# Roughly equivalent to:
user && user.profile && user.profile.name

# With arrays
users&.first&.name  # Safe even if users is nil
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

The diagram below the answer is the concept . Jump to it ↓

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

Saved in this browser - sign in to keep your review list.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Interview lens

Likely follow-ups, what you can say, and the weak answers to avoid.

Sign in free to open it Free account - the lens opens as soon as you're back.

Want a quick review of the fundamentals? See the Ruby cheatsheet.

← Back to all Ruby questions
Pro · $10/mo

78 of 91 Ruby answers are in Pro.

Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.

  • Full answers + code
  • AI explanations, simpler or deeper
  • 1,000 AI credits / month
  • Cancel anytime