[#400858] Support for multiple Inheritance by classes — Ross Konsolebox <lists@...>

Will Ruby ever support multiple inheritance through classes instead of

23 messages 2012/11/03
[#400859] Re: Support for multiple Inheritance by classes — Arlen Cuss <ar@...> 2012/11/03

I think I can say "no" with a fair amount of confidence.

[#400902] Re: Support for multiple Inheritance by classes — Ross Konsolebox <lists@...> 2012/11/04

Arlen Cuss wrote in post #1082618:

[#400904] Re: Support for multiple Inheritance by classes — Peter Hickman <peterhickman386@...> 2012/11/04

Even though other languages handle multiple inheritance without any

[#400865] why does UnboundMethod need to remember the class it was retrieved from (not merely owner)? — "Mean L." <lists@...>

class Base; def foo; end end

17 messages 2012/11/03

[#400914] login web page using mechanize — john smith <lists@...>

new to ruby, love the language. read programmatic programmers guide to

25 messages 2012/11/04

[#400985] How to merge two or more hashes in to one? — "Jermaine O." <lists@...>

Hi everyone.

14 messages 2012/11/06

[#401026] Site down watir-webdriver — ajay paswan <lists@...>

Whenever a site is down it keeps on looking for it for sometime and

14 messages 2012/11/07

[#401027] Closing popups watir-webdriver — ajay paswan <lists@...>

Sometimes popup comes when a link is clicked, sometimes popup comes when

14 messages 2012/11/07

[#401125] Complete newbie — "Carlos A." <lists@...>

Hey guys!

14 messages 2012/11/10

[#401161] Convert date to string — Ferdous ara <lists@...>

Hi

12 messages 2012/11/11

[#401173] question on watir — Raj pal <lists@...>

I am automating Idit application using Ruby, at one screen I can't feed

233 messages 2012/11/12

[#401191] Extending Array instances — Charles Hixson <charleshixsn@...>

I'm trying to figure out a good way to extend an Array, when the items

17 messages 2012/11/12
[#401195] Re: Extending Array instances — Brian Candler <lists@...> 2012/11/12

Charles Hixson wrote in post #1084111:

[#401200] Efficient way for comparing records between 2 large files (16 million records) — Ruby Student <ruby.student@...>

Team,

9 messages 2012/11/12

[#401274] following along with "Beginning Ruby." — Al Baker <lists@...>

I'm having trouble following along with some of the examples in this

15 messages 2012/11/15

[#401279] Question on exceptions — Justin Gamble <lists@...>

Hello! I have a simple bank program where I have to have an exception

16 messages 2012/11/15
[#401281] Re: Question on exceptions — Justin Gamble <lists@...> 2012/11/15

What is the reason of doing the .new(...)in

[#401295] Re: Question on exceptions — Brian Candler <lists@...> 2012/11/16

Justin Gamble wrote in post #1084635:

[#401296] Re: Question on exceptions — tamouse mailing lists <tamouse.lists@...> 2012/11/16

On Fri, Nov 16, 2012 at 1:43 AM, Brian Candler <lists@ruby-forum.com> wrote:

[#401301] Alternatives to methods for large number of nested "ifs" — Philip Rhoades <phil@...>

People,

11 messages 2012/11/16

[#401336] Advice for simple client/server application — Panagiotis Atmatzidis <atma@...>

Hello,

12 messages 2012/11/17

[#401364] Metaprogramming — "Aurimas N." <lists@...>

Hello,

12 messages 2012/11/19

[#401404] "undefined method `synchronize' for #<Mutex:0xa0f5adc>" from embedded Ruby program — Graham Menhennitt <graham@...>

I'm writing a C++ program (on Centos 5 Linux) that embeds a Ruby 1.9.3

9 messages 2012/11/21

[#401422] how to increase variable inside the while loop — Ferdous ara <lists@...>

Hi, my question might be confusing as its hard for me to make it clear,

12 messages 2012/11/21

[#401451] Arrays with records as objects — Steve Tucknott <lists@...>

I am completely new to Ruby.

11 messages 2012/11/22

[#401458] working with mysql in ruby — john smith <lists@...>

i have been trying to successfully connect ruby with mysql. there are a

17 messages 2012/11/22

[#401567] click on link not working with ie #watir-webdriver — ajay paswan <lists@...>

Greetings,

12 messages 2012/11/26

[#401578] atomic statements in multithreading — ajay paswan <lists@...>

suppose I am working in multiple thread each thread runs following

10 messages 2012/11/26

[#401607] Novice: Understanding instance 'variables' and methods — Steve Tucknott <lists@...>

A question - or comment - on instance variables.

10 messages 2012/11/26

[#401644] Getting the smallest Items of an Array — "Ismail M." <lists@...>

Hello guys,

14 messages 2012/11/27

[#401655] gem problems(sigh) — Al Baker <lists@...>

i tried to make a gem and tried to build the spec file and this is what

10 messages 2012/11/28

[#401688] sorting data from a file — "Ismail M." <lists@...>

Hey guys,

16 messages 2012/11/28

[#401706] Newbie question: (free) on-line courses? — Ken D'Ambrosio <ken@...>

Hello, all. There's a bunch of free on-line training for Javascript,

11 messages 2012/11/28

Re: Missing Something

From: Jes俍 Gabriel y Gal疣 <jgabrielygalan@...>
Date: 2012-11-19 16:49:08 UTC
List: ruby-talk #401376
On Mon, Nov 19, 2012 at 5:27 PM, Ron S. <lists@ruby-forum.com> wrote:
> The "processing" more than one file question hits the heart of the
> matter. First of all, this creates a file. The processing of files is a
> whole separate thing (in my way of viewing this). I want the final thing
> to be working on dozens, if not hundreds and thousands of objects. And
> that's where the "object orientation," "classes," "methods" and all that
> enters in and it's where I get lost. It's all so arbitrary. I can define
> anything to be anything. And the more I do, the more ideas I get until I
> end up with a great big jumble that falls off the rails.

I think you should go step by step, little by little. Adding
functionality and looking for opportunities to reuse code. For
example, if you want to generate a file, and the process it, you can
start by defining a class that represents the file, so that you can
create such object and pass it around. Then you start thinking what
things can be responsibility of that class, things that you would tell
it to do, for example: save yourself in the filesystem. Create a
method for that. If you start this way, you will find yourself with
little reusable things that you can compose to perform more and more
complex logic.

For example:

class MyWaveFile
  def initialize frames, frequency, volume, file_name
    @frames, @frequency, @volume, @file_name = frames, frequency,
volume, file_name
    @w = WaveFile.new(1, 44100, 16) # don't know what these numbers mean
    generate_samples
  end

  def generate_samples
    (0..@frames).each do |frame|
      @w.sample_data[frame] = sin(frame * 2.0 * PI / @freq) * @volume * 32767
  end

  def save
    @w.save @file_name
  end
end

Now you can:

wave_file = MyWaveFile.new frames, frequency, volume, file
wave_file.save

Later, for processing, you might have several different processing
algorithms (I have absolutely no clue about sound processing). You can
create a class for each processing:

class XProcessing
end
clas YProcessing
end
...

and apply the processings in order or whatever, passing your wave_file around:

wave_file = MyWaveFile.new frames, frequency, volume, file
XProcessing.new.process wave_file
wave_file.save

If, for example, you see duplicated code in all processing classes,
try to extract it to a common class (for example, a parent class of
all processings). This way, reducing duplication, you end up with a
design for your system.

It's difficult at the beggining, and depending on the domains can be
quite complex, but keep working at it and you'll see that it gets
easier and easier.

Good luck !

Jesus.

In This Thread