[#14696] Inconsistency in rescuability of "return" — Charles Oliver Nutter <charles.nutter@...>

Why can you not rescue return, break, etc when they are within

21 messages 2008/01/02
[#14699] Re: Inconsistency in rescuability of "return" — Gary Wright <gwtmp01@...> 2008/01/02

[#14738] Enumerable#zip Needs Love — James Gray <james@...>

The community has been building a Ruby 1.9 compatibility tip list on

15 messages 2008/01/03
[#14755] Re: Enumerable#zip Needs Love — Martin Duerst <duerst@...> 2008/01/04

Hello James,

[#14772] Manual Memory Management — Pramukta Kumar <prak@...>

I was thinking it would be nice to be able to free large objects at

36 messages 2008/01/04
[#14788] Re: Manual Memory Management — Marcin Raczkowski <mailing.mr@...> 2008/01/05

I would only like to add that RMgick for example provides free method to

[#14824] Re: Manual Memory Management — MenTaLguY <mental@...> 2008/01/07

On Sat, 5 Jan 2008 15:49:30 +0900, Marcin Raczkowski <mailing.mr@gmail.com> wrote:

[#14825] Re: Manual Memory Management — "Evan Weaver" <evan@...> 2008/01/07

Python supports 'del reference', which decrements the reference

[#14838] Re: Manual Memory Management — Marcin Raczkowski <mailing.mr@...> 2008/01/08

Evan Weaver wrote:

[#14911] Draft of some pages about encoding in Ruby 1.9 — Dave Thomas <dave@...>

Folks:

24 messages 2008/01/10

[#14976] nil encoding as synonym for binary encoding — David Flanagan <david@...>

The following just appeared in the ChangeLog

37 messages 2008/01/11
[#14977] Re: nil encoding as synonym for binary encoding — Yukihiro Matsumoto <matz@...> 2008/01/11

Hi,

[#14978] Re: nil encoding as synonym for binary encoding — Dave Thomas <dave@...> 2008/01/11

[#14979] Re: nil encoding as synonym for binary encoding — David Flanagan <david@...> 2008/01/11

Dave Thomas wrote:

[#14993] Re: nil encoding as synonym for binary encoding — Dave Thomas <dave@...> 2008/01/11

[#14980] Re: nil encoding as synonym for binary encoding — Gary Wright <gwtmp01@...> 2008/01/11

[#14981] Re: nil encoding as synonym for binary encoding — Yukihiro Matsumoto <matz@...> 2008/01/11

Hi,

[#14995] Re: nil encoding as synonym for binary encoding — David Flanagan <david@...> 2008/01/11

Yukihiro Matsumoto writes:

[#15050] how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...>

Core Rubies:

17 messages 2008/01/13
[#15060] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Eric Hodel <drbrain@...7.net> 2008/01/14

On Jan 13, 2008, at 08:54 AM, Phlip wrote:

[#15062] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...> 2008/01/14

Eric Hodel wrote:

[#15073] Re: how to "borrow" the RDoc::RubyParser and HTMLGenerator — Eric Hodel <drbrain@...7.net> 2008/01/14

On Jan 13, 2008, at 20:35 PM, Phlip wrote:

[#15185] Friendlier methods to compare two Time objects — "Jim Cropcho" <jim.cropcho@...>

Hello,

10 messages 2008/01/22

[#15194] Can large scale projects be successful implemented around a dynamic programming language? — Jordi <mumismo@...>

A good article I have found (may have been linked by slashdot, don't know)

8 messages 2008/01/24

[#15248] Symbol#empty? ? — "David A. Black" <dblack@...>

Hi --

24 messages 2008/01/28
[#15250] Re: Symbol#empty? ? — Yukihiro Matsumoto <matz@...> 2008/01/28

Hi,

Re: Symbol#empty? ?

From: "David A. Black" <dblack@...>
Date: 2008-01-28 11:57:57 UTC
List: ruby-core #15271
Hi --

On Mon, 28 Jan 2008, Dave Thomas wrote:

>
> On Jan 28, 2008, at 12:48 AM, Gary Wright wrote:
>
>> In the most abstract sense, symbols map from string equality to object 
>> identity.  This provides a mechanism for accessing uniquely named objects 
>> regardless of how you came by the name:
>>
>>   literal    :foobar
>>   dynamic    str.to_sym
>>   computed   (str1 + str2).to_sym
>
> OK, but why do we need this?
>
> Symbol tables are fundamentally an optimization: a way of looking up an 
> identifier. That's why the predominant use of symbols in Ruby (post Rails) is 
> as hash keys, where they serve the same function. What function does 
> :"a<space>b" serve for Ruby programmers?(*) And is the benefit of having it 
> worth the inconsistencies and security issues involved.
>
> Why not instead say that Symbol is for representing symbols, and have #intern 
> complain if the corresponding strings isn't valid? That would allow 
> :"+(binary)" to make sense, as the underlying symbol is the same as :+.  And 
> then if some application in future has an obscure need to represent the works 
> of Shakespeare as a symbol, they can simply use a hash like everyone else 
> would... :)

It's hard to specify what a valid symbol is, though -- not just
because of the new string-like behaviors, but because symbols get put
in the table even if they're not valid identifiers.  Here's a 1.8.6
demo:

>> s = Symbol.all_symbols; 1
=> 1
>> class C; define_method("good morning, everyone!") {}; end
=> #<Proc:0x00000000@(irb):2>
>> t = Symbol.all_symbols; 1
=> 1
>> t - s
=> [:C, :"good morning, everyone!"]
>> Object.new.send("this will be put in the sym table")
NoMethodError: undefined method `this will be put in the sym table'
for #<Object:0x31bc30>
         from (irb):5:in `send'
         from (irb):5
>> u = Symbol.all_symbols; 1
=> 1
>> u - t
=> [:u, :"this will be put in the sym table"]

I tend to agree about the hybrid nature of symbols in 1.9. I don't
know why one would ever need to do a swapcase operation on a symbol,
for example (though there could of course be use cases I'm not
thinking of).


David

--
David A. Black
Director, Ruby Power and Light, LLC
Ruby/Rails training and consulting
http://www.rubypal.com

In This Thread