Monday, May 18, 2009

Example Ruby code

I decided to do some of those Facebook puzzles in Ruby. I won't post everything I do, because I would consider that cheating (after all, you can win prizes!).

However, considering this is a very simple script, and I'm doing it more for learning Ruby than to enter into Facebook's puzzles, I will post this one.

This is the first puzzle, called Hoppity Hop:

private
@file_exists = false
def get_integer(filename)
    if File::exists?(filename)
        file = File.open(filename) 
        line = file.gets.strip!
        file.close
        @file_exists = true
        return line.to_i
    else
        @file_exists = false
        return 0 #zero files present
    end
end

def get_string(num)
    if(num%3 == 0 && num%5 == 0)
        print "Hop\n"
    elsif num%3 == 0
        print "Hoppity\n"
    elsif num%5 == 0
        print "Hophop\n"
    else
        return #nothing
    end    
end

def hip_hop(arg)
    num = get_integer(arg)
    if(num > 0 && @file_exists)        
        for i in 1..num.to_i
            get_string(i)
        end
    else
        puts "File not found"
    end
end

public

arg = ARGV[0].to_s # this is the name of the file
if(/\D/ =~ arg)
    puts "Please enter a positive integer as the filename."
else
    unless arg == nil
        hip_hop(arg)
    end
end

Saturday, May 9, 2009

Ruby on Rails, Aptana Studio

This weekend, I decided to give Ruby on Rails a go, considering I just finished school and I'll have plenty of free time to explore.
I downloaded Aptana Studio and installed Ruby, Rails, PHP, and a few extra ruby gems for fun. Then, I went over to the Rails Guide to follow along and do some learnin'. At the end of the guide, I ran the completed blog application and received errors. A little googling helped me find the solution.
Apparently, Aptana doesn't install the latest build of gems from its repositories, and the guide was written for the newest version.
As noodlygod writes on the forum linked above:
Hello, I just thought I'd post something as I had the same problem on Windows.
I tried running the command "gem install rails --source http://gem.rubyonrails.org" but I received the error: "actionpack requires rack (>= 0.9.0, runtime)"
So I ran "gem install rack" which installed something And then "gem install rails --source http://gem.rubyonrails.org" and it installed 2.3.0 just fine.
Based on this post: http://railsforum.com/viewtopic.php?pid=89050 I also changed my rails version in environment.rb to "2.3.0" and renamed "application.rb" to "application_controller.rb" and everything is working. Thanks a bunch for the info!

Archive