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

What is the difference between nil, empty, and blank in Ruby?

beginner
← All Ruby questions
Re-explain

nil means no value at all. empty? asks whether a string or collection has no elements, and blank? is a Rails check that also treats nil and whitespace as empty.

  • nil is the single object of NilClass. Only nil returns true for nil?, and nil has no empty? method.
  • empty? is defined on String, Array and Hash. It is true only when the length is zero, so " ".empty? is false.
  • blank? comes from Rails' Active Support, not plain Ruby. It is true for nil, false and empty collections. A string of only whitespace is blank too.

Plain Ruby treats only nil and false as falsy. An empty string and 0 are truthy, which is why blank? is useful for form input.

nil.nil?        # true
"".empty?       # true
[].empty?       # true
" ".blank?      # true (Rails only)
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