Few Questions on Ruby


#1

Given this module definition:

module Greeting
  def say_hello
    puts "Hello, my name is #{self.name}"
  end
end

1.) How to implement a class Foo using the Greeting module so that the
following code example generates the expected output. Do not implement a
say_hello method.
foo = Foo.new(“Fred”)
foo.say_hello
>> Hello, my name is Fred

2.) How to Implement a class Bar using the Greeting module so that the
following code example generates the expected output. Do not implement a
say_hello method.

Bar.say_hello
>> Hello, my name is Bar

3.) Given this class:

class Example
  @name
end

How would you describe the @name variable?  Assume you have access

to this source code but can’t change it. How would you add methods to
the Example class to set and get the value of @name?
4.) In a Rails application, if it takes a long time for a page to load.
If there is an action that dynamically generates a large binary file and
sends this to clients via send_data. How is this related to the slow
response time? What change can we make to avoid this?


#2

On 29.12.2008 07:37, Anil B. wrote:

Given this module definition:

This looks suspiciously like homework or interview questions. What is
your motivation for posting this seemingly unrelated list of questions /
tasks?

robert


#3

Hello:),

module Greeting
def say_hello
puts “Hello, my name is #{self.name}”
end
end

class Foo
attr_accessor :name
include Greeting

def initialize(name)
@name = name
end

end

class Bar
extend Greeting
end

class Example

attr_accessor :name

end

  1. Client waits until request finishes even if client doesn’t download
    any data. Implement a background service to generate large files,
    implement user notification service to notify user after file is
    generated and ready to use.

Marius Žilėnas
removed_email_address@domain.invalid

Anil B. wrote:

Given this module definition:

module Greeting
  def say_hello
    puts "Hello, my name is #{self.name}"
  end
end

1.) How to implement a class Foo using the Greeting module so that the
following code example generates the expected output. Do not implement a
say_hello method.
foo = Foo.new(“Fred”)
foo.say_hello
>> Hello, my name is Fred

2.) How to Implement a class Bar using the Greeting module so that the
following code example generates the expected output. Do not implement a
say_hello method.

Bar.say_hello
>> Hello, my name is Bar

3.) Given this class:

class Example
  @name
end

How would you describe the @name variable?  Assume you have access

to this source code but can’t change it. How would you add methods to
the Example class to set and get the value of @name?
4.) In a Rails application, if it takes a long time for a page to load.
If there is an action that dynamically generates a large binary file and
sends this to clients via send_data. How is this related to the slow
response time? What change can we make to avoid this?


#4

On Mon, Dec 29, 2008 at 2:39 PM, Robert K.
removed_email_address@domain.invalid
wrote:

This looks suspiciously like homework or interview questions. What is
your motivation for posting this seemingly unrelated list of questions /
tasks?

I can has homework solutionz! :slight_smile:


#5

On Mon, Dec 29, 2008 at 2:39 AM, Marius Þilënas removed_email_address@domain.invalid wrote:

attr_accessor :name
extend Greeting
end

I like the fact you can extend single instances, too…

f = Foo.new
f.extend MyModule

Todd