[#393012] Basic Ruby performance — Dmitry Nikiforov <dniq@...>

Hello all!

43 messages 2012/02/02
[#393013] Re: Basic Ruby performance — Dmitry Nikiforov <dniq@...> 2012/02/02

Here's another example with significantly bigger performance difference:

[#393015] Re: Basic Ruby performance — Ryan Davis <ryand-ruby@...> 2012/02/02

[#393016] Re: Basic Ruby performance — Peter Vandenabeele <peter@...> 2012/02/02

On Fri, Feb 3, 2012 at 12:20 AM, Ryan Davis <ryand-ruby@zenspider.com>wrote:

[#393020] Re: Basic Ruby performance — Ryan Davis <ryand-ruby@...> 2012/02/03

[#393076] Problem migrating to Ruby 1.9.2 — Patrick Bayford <pbayford@...>

Some assistance please - I have a Ruby project, which I started in Ruby

10 messages 2012/02/03

[#393164] Using _ like in Scala? — Marc Heiler <shevegen@...>

fruits = %w( apple banana orange )

27 messages 2012/02/06
[#393201] Re: Using _ like in Scala? — Tony Arcieri <tony.arcieri@...> 2012/02/07

On Mon, Feb 6, 2012 at 10:54 AM, Marc Heiler <shevegen@linuxmail.org> wrote:

[#393204] Re: Using _ like in Scala? — Eric Christopherson <echristopherson@...> 2012/02/07

On Mon, Feb 6, 2012 at 7:21 PM, Tony Arcieri <tony.arcieri@gmail.com> wrote:

[#393206] Re: Using _ like in Scala? — Tony Arcieri <tony.arcieri@...> 2012/02/07

On Mon, Feb 6, 2012 at 5:56 PM, Eric Christopherson <

[#393208] Re: Using _ like in Scala? — Kevin <darkintent@...> 2012/02/07

On Mon, Feb 6, 2012 at 9:07 PM, Tony Arcieri <tony.arcieri@gmail.com> wrote:

[#393216] Re: Using _ like in Scala? — Robert Klemme <shortcutter@...> 2012/02/07

On Tue, Feb 7, 2012 at 6:56 AM, Kevin <darkintent@gmail.com> wrote:

[#393219] Re: Using _ like in Scala? — Josh Cheek <josh.cheek@...> 2012/02/07

On Tue, Feb 7, 2012 at 4:47 AM, Robert Klemme <shortcutter@googlemail.com>wrote:

[#393220] Re: Using _ like in Scala? — Robert Klemme <shortcutter@...> 2012/02/07

On Tue, Feb 7, 2012 at 1:00 PM, Josh Cheek <josh.cheek@gmail.com> wrote:

[#393240] Re: Using _ like in Scala? — Josh Cheek <josh.cheek@...> 2012/02/08

On Tue, Feb 7, 2012 at 9:15 AM, Robert Klemme <shortcutter@googlemail.com>wrote:

[#393254] Re: Using _ like in Scala? — Robert Klemme <shortcutter@...> 2012/02/08

On Wed, Feb 8, 2012 at 3:43 AM, Josh Cheek <josh.cheek@gmail.com> wrote:

[#393259] Re: Using _ like in Scala? — Josh Cheek <josh.cheek@...> 2012/02/08

On Wed, Feb 8, 2012 at 5:58 AM, Robert Klemme <shortcutter@googlemail.com>wrote:

[#393181] Tork 18.0.0 — "Suraj N. Kurapati" <sunaku@...>

Tork - Test with fork - https://github.com/sunaku/tork#readme

16 messages 2012/02/06
[#393183] Re: [ANN] Tork 18.0.0 — Bartosz Dziewoński <matma.rex@...> 2012/02/06

You have faster major version release cycle than Chrome...

[#393189] Re: [ANN] Tork 18.0.0 — Quintus <sutniuq@...> 2012/02/06

Am 06.02.2012 22:07, schrieb Bartosz Dziewoナгki:

[#393203] Re: Tork 18.0.0 — Suraj Kurapati <sunaku@...> 2012/02/07

Marvin G=C3=BClker wrote in post #1044440:

[#393347] Symbol garbage collection — Dido Sevilla <dido.sevilla@...>

I've always wondered why Ruby didn't do garbage collection of symbols,

13 messages 2012/02/10

[#393402] Who Administrates this list and how can the community help save this list from the noise. — andrew mcelroy <sophrinix@...>

It is very clear that this list has been under a incredibly heavy

21 messages 2012/02/11
[#393403] Re: Who Administrates this list and how can the community help save this list from the noise. — serialhex <serialhex@...> 2012/02/11

+1

[#393407] Re: Who Administrates this list and how can the community help save this list from the noise. — Cathy Alomari <cathy1428@...> 2012/02/11

Good luck, I doubt anyone is paying attention. I have seen numerous

[#393410] Re: Who Administrates this list and how can the community help save this list from the noise. — "Darryl L. Pierce" <mcpierce@...> 2012/02/11

On Sat, Feb 11, 2012 at 1:12 PM, Cathy Alomari <cathy1428@gmail.com> wrote:

[#393430] Re: Who Administrates this list and how can the community help save this list from the noise. — Cathy Alomari <cathy1428@...> 2012/02/13

On Sat, Feb 11, 2012 at 10:48 AM, Darryl L. Pierce <mcpierce@gmail.com>wrote:

[#393432] Re: Who Administrates this list and how can the community help save this list from the noise. — Bartosz Dziewoński <matma.rex@...> 2012/02/13

2012/2/13 Cathy Alomari <cathy1428@gmail.com>:

[#393434] Re: Who Administrates this list and how can the community help save this list from the noise. — Rimantas Liubertas <rimantas@...> 2012/02/13

> Have you tried mailing ruby-talk-ctl@ruby-lang.org (mailto:ruby-talk-ctl@ruby-lang.org) with "unsubscribe"

[#393412] the ruby syntax — maven apache <apachemaven0@...>

Hi:

19 messages 2012/02/12
[#393413] Re: the ruby syntax — Bartosz Dziewoński <matma.rex@...> 2012/02/12

When a hash is the last argument to a method, you can skip its open-

[#393416] Re: the ruby syntax — maven apache <apachemaven0@...> 2012/02/12

2012/2/12 Bartosz Dziewo=C5=84ski <matma.rex@gmail.com>

[#393435] Re: the ruby syntax — Saji Hameed <saji@...> 2012/02/13

On Sun, Feb 12, 2012 at 10:49 PM, maven apache <apachemaven0@gmail.com> wro=

[#393546] Difference between 1.9.2 and 1.9.3 — James French <James.French@...>

module A <- line 1

12 messages 2012/02/20
[#393558] Re: Difference between 1.9.2 and 1.9.3 — Dave Aronson <rubytalk2dave@...> 2012/02/21

On Mon, Feb 20, 2012 at 12:25, James French

[#393548] Accessing a local variable through a symbol — Ralph Shnelvar <ralphs@...32.com>

Let's say I have

11 messages 2012/02/20

[#393671] Rubymoticons — Dave Aronson <rubytalk2dave@...>

I was demonstrating injection of a symbol, and noticed a familiar

12 messages 2012/02/28

Re: Help please Undefined Method error

From: Peter Vandenabeele <peter@...>
Date: 2012-02-03 11:25:45 UTC
List: ruby-talk #393053
On Fri, Feb 3, 2012 at 2:58 AM, andres d. <apolo-andres@hotmail.com> wrote:

> The program is done !!!!  i was only checking it for the last time
> before going to do something else and I found the solution well the
> problem and the solution.
> the program now looks like this one
> Thank you for your help it was really usefull
>
> Attachments:
> http://www.ruby-forum.com/attachment/6949/sort_cor.rb
>
>
Hi Andes,

I took the liberty to propose an alternative to the
first block of your program. I am afraid some
aspects of your program are not really Ruby idiomatic.

This is meant as "constructive criticism", I hope you
can appreciate it. If not, sorry upfront.

<alternative>
def get_words
  [].tap do |a|
    while !(input = gets.chomp).empty?
       a << input
    end
  end
end

puts "Hello, enter all the words you want, finish with empty line"
words = get_words
puts "The words you entered are:"
puts words
</alternative>

Some highlights:

* put that functionality to read the words in a separate function
  and test it separately. Then you can also reuse it more easily.

* Use  [].tap{|a| a<< stuff}  so you do not have to return the
  result array explicitly (I am not having a variable "words"
  or "array" in the function, it is returned as the final result but
  not stored in an explicit local variable; so I can impossibly
  forget to return the built up array at the end, because "tap"
  returns it automatically

* don't do "while true ... break ... end"
  use "while (data is valid) ... do something with the data ... end"
  the "break" in your version burns in my eyes.

* take note of the special 'while !(input = gets.chomp)' construct
  with a _single_ '=' (not a double '==') in the condition for while.
  Some people may find it not optimal to make an assignment,
  but it is the style I prefer for that use case. I am open to alternatives
  for that ...

* don't store the data that is not valid (the empty string) in the array
  and then delete it afterwards. Evaluate the validity of the data
  _before_ storing it in the array.

* a more advanced aspect is that inside the block of "tap", there
  is no variable used that comes from the outside of the block.
  That makes for safer code as there is less chance for accidental
  dependency of a variable that is set higher-up in the code.
  This is also the main reason for short functions, less chance for
  unintended dependencies on far-away variables.

Sorry for being critical, but I honestly hope you can take the time
to analyze my comments and learn some neat "Ruby" tricks from it.

Success with Ruby and welcome :-)

Peter

In This Thread