Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7614171
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T02:20:11+00:00 2026-05-31T02:20:11+00:00

My Attempt at creating a simple animated shell spinner guy… STDOUT.sync # spinner stuff

  • 0

My Attempt at creating a simple animated shell spinner guy…

STDOUT.sync

# spinner stuff
spinner_running = false
chars = ['|', '/', '-', '\\']
@spinner = Thread.new do
  loop do
    unless spinner_running
      Thread.stop
      print "\b"
    end
    print chars[0]
    sleep(1)
    print "\b"
    chars.push chars.shift
  end
end

def start_spinner
  spinner_running = true
  @spinner.wakeup
end

def stop_spinner
  spinner_running = false
end

print ".......X"

start_spinner()
sleep(5)
stop_spinner()

Just trying to create a simple spinner, and yes, I know there’s a gem for that…

Why wouldn’t I be seeing the progress of the spinner while it’s executing in this code?

Current Output: ruby spinner.rb

.......X< new prompt (no new line) > 
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T02:20:12+00:00Added an answer on May 31, 2026 at 2:20 am

    spinner_running needs to be @spinner_running.

    It’s first defined as a local variable and then used in the thread, which is fine as the block will have access to the scope it’s defined in. However the start_ and stop_ spinner methods define their own scope, so when spinner_running is used there it is a newly defined, local variable.

    So the spinner_running used by the thread is never set to true – so the thread exits straight away when it is run.

    To fix it, it needs to be made into an instance variable by prefixing it with @.

    In answer to your comment, I don’t think there’s an easy way for the thread to spot this – because the bug isn’t in the thread.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Why does this attempt at creating a list of curried functions not work? def
When I attempt to debug a simple program with gdb on cygwin I get
I am creating a simple Unix server written in C++ that simply waits for
Yayy, coding is so much fun. This is my third attempt at creating an
I was creating a simple program that simulates a coin toss for my class.
Greetings. In attempt to wrap my head around MVC I've just implemented a simple
It seems every attempt I've made at creating a 9-Patch file has created a
I have a long-running console-based application Sender that sends simple text to STDOUT using
First attempt to use this cool site - after searching for 2 hours: So
My attempt to customize the method contains of ArrayList, I used Eclipse to generate

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.