[#11569] sprintf: Format specifier tokens aren't checked well enough — Florian Gross <florgro@...>
Hi,
Something seems to be broken for %u with negative bignums:
Hi,
[#11576] Array#delete is destructive, String#delete isn't — Florian Gross <florgro@...>
Hi,
[#11585] Array#values_at bug? — "John Lam (CLR)" <jflam@...>
a =3D [1,2,3,4]
[#11588] Timeout doesn't work correctly under windows when executing complex regexp. — "yuanyi zhang" <zhangyuanyi@...>
To repeat the problem, just execute the below code(I've run it with
Hi,
[#11597] Optimizing Symbol#to_proc — murphy <murphy@...>
Greetings to the list!
[#11600] Bug in Kernel#method objects that call super? — Charles Oliver Nutter <charles.nutter@...>
This seems very wrong to me. Calling through a method object should
[#11609] GetoptLong w/ DSL — TRANS <transfire@...>
Hi--
Hi,
On 7/8/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#11611] Import gem to Ruby 1.9 — SASADA Koichi <ko1@...>
Hi,
On Jul 8, 2007, at 00:49, SASADA Koichi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On 7/17/07, NAKAMURA, Hiroshi <nakahiro@sarion.co.jp> wrote:
On 7/17/07, Ryan Davis <ryand-ruby@zenspider.com> wrote:
On Jul 17, 2007, at 01:26, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On 7/18/07, NAKAMURA, Hiroshi <nakahiro@sarion.co.jp> wrote:
On 7/22/07, Chad Fowler <chad@chadfowler.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Jul 24, 2007, at 06:44, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
On Sep 30, 2007, at 22:56 , NAKAMURA, Hiroshi wrote:
On Oct 1, 2007, at 09:57 , Eric Hodel wrote:
Hi,
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 13, 2007, at 02:00 , NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 13, 2007, at 08:00 , NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 15, 2007, at 07:14 , NAKAMURA, Hiroshi wrote:
On 10/17/07, Eric Hodel <drbrain@segment7.net> wrote:
Leonard Chin wrote:
On Oct 17, 2007, at 12:28 , Charles Oliver Nutter wrote:
Eric Hodel wrote:
Charles Oliver Nutter wrote:
On Oct 17, 2007, at 14:53 , Charles Oliver Nutter wrote:
Evan Phoenix wrote:
In article <4710890A.3020009@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4718708D.3050001@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471A1720.4080606@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471CAFE0.2070104@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471D4D1F.5050006@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471D5665.5040209@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <471FF3B1.3060103@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <47200D74.6020202@sarion.co.jp>,
On Oct 13, 2007, at 01:24 , Yukihiro Matsumoto wrote:
In article <4722FEA4.6040509@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <472532B0.2060600@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4726C4EF.7060605@sarion.co.jp>,
[#11635] to_str conversions and exceptions — "John Lam (CLR)" <jflam@...>
Silly question of the day:
[#11642] Re: Proposal: runtime-modifying Kernel methods should be keywords — "Marcel Molina Jr." <marcel@...>
On Fri, Jul 13, 2007 at 03:02:06PM +0900, Charles Oliver Nutter wrote:
Calamitas wrote:
I was going to reply to this In a detailed manner, but I'm not. (I
Ryan Davis wrote:
Ryan Davis wrote:
On 18/07/07, Ryan Davis <ryand-ruby@zenspider.com> wrote:
> PS: Incidentally... The comment on the blog entry you gave above
[#11645] Re: Proposal: runtime-modifying Kernel methods should be keywords — Charles Oliver Nutter <charles.nutter@...>
Charles Oliver Nutter wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
On Jul 13, 2007, at 2:09 AM, Nobuyoshi Nakada wrote:
James Edward Gray II schrieb:
On Sep 10, 2007, at 11:19 PM, murphy wrote:
[#11648] Re: Proposal: runtime-modifying Kernel methods should be keywords — "John Lam" <jlam@...>
> 3. These methods are exactly the ones that complicate optimizing Ruby in
On 7/13/07, John Lam <jlam@iunknown.com> wrote:
TRANS wrote:
[#11673] Inheritable mixin — TRANS <transfire@...>
Concept for Ruby 2.0...
[#11691] rb_cstr_to_inum use of strtoul as an optimization has unfortunate side effects — Florian Gross <florgro@...>
Hi,
On another note, String#oct allows the base to be changed by a base
Hi,
[#11692] String#rindex(other) doesn't try to convert other via to_str — Florian Gross <florgro@...>
Hi,
[#11739] Re: Proposal: runtime-modifying Kernel methods should be keywords — Brent Roman <brent@...>
Just a follow up to on the idea of disallowing the
Brent Roman wrote:
On 17/07/07, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
[#11754] indentation / emacs woes — Ryan Davis <ryand-ruby@...>
OK. Can someone give me the tweaks I need to make ruby source read
[#11756] threads and heavy io on osx and linux — "ara.t.howard" <Ara.T.Howard@...>
Hung on the 13th run.
[#11795] What libraries to be unbundled? — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
I don't think that json should be unbundled. It is the interchange
On Jul 24, 2007, at 1:39 PM, David Flanagan wrote:
James Edward Gray II wrote:
On 7/24/07, David Flanagan <david@davidflanagan.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Oct 1, 2007, at 1:07 AM, NAKAMURA, Hiroshi wrote:
-----BEGIN PGP SIGNED MESSAGE-----
[#11821] Columnize, irb, and ruby-debug — "Rocky Bernstein" <rocky.bernstein@...>
I've been working on/with Kent SIbilev's ruby-debug. The current sources in
[#11826] Rdoc allowing arbitrary HTML — "Robert Dober" <robert.dober@...>
Hi all
Re: Inheritable mixin
On 7/13/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
> Hi,
>
> In message "Re: Inheritable mixin"
> on Sat, 14 Jul 2007 05:14:02 +0900, TRANS <transfire@gmail.com> writes:
>
> |What do you think of making Class not inherit Module, but instead make
> |them separate classes that both mixin "Inheritable" (or whatever you'd
> |like to call it)?
>
> By separating modules and classes, we get class hierarchy design
> clarity at the cost of little bit language complexity. Making
> mixin (modules) inheritable means introducing "full" multiple
> inheritance in the language. I don't think it's worth changing the
> language we live happily without full MI.
>
> |The thought occurred to me while organizing Facets. I've been locking
> |at what methods might fit together into organization units, ie,
> |mixins, so far I've been able to successfully develop Indexable and
> |Stackable.
>
> More concrete example please? I am not sure the benefit of having
>
> module Indexable
> end
>
> class Whatever < Indexable
> end
>
> over
>
> class Whatever
> include Indexable
> end
>
> matz.
>
Okay, mind you this is in the context of Facets, where I'm inclinedto
add extra methods beyond the Ruby norm, and it's still a work in
progress, but so far....
# Works off of #index, #slice, #splice and #size.
# Where #splice is essentially #[]=, but if no value is given,
removes the index.
module Indexable
# Like #first but returns the first element
# in a new array.
#
# [1,2,3].head #=> [1]
#
def head
slice(0,1)
end
# Returns an array from second element to last element.
#
# [1,2,3].tail #=> [2,3]
#
def tail
slice(1,length-1)
end
# Like #last, returning the last element
# in an array.
#
# [1,2,3].foot #=> [3]
#
def foot
slice(-1,1)
end
# Returns an array of the first element upto,
# but not including, the last element.
#
# [1,2,3].body #=> [1,2]
#
#--
# Better name for this? (bulk, perhaps?)
#++
def body
slice(0,size-1)
end
# Returns the middle element of an array, or the element offset
# from middle if the parameter is given. Even-sized arrays,
# not having an exact middle, return the middle-right element.
#
# [1,2,3,4,5].mid #=> 3
# [1,2,3,4,5,6].mid #=> 4
# [1,2,3,4,5,6].mid(-1) #=> 3
# [1,2,3,4,5,6].mid(-2) #=> 2
# [1,2,3,4,5,6].mid(1) #=> 5
#
# In other words, If there are an even number of elements the
# higher-indexed of the two center elements is indexed as
# orgin (0).
def mid(offset=0)
#at((size / 2) + offset)
slice((size / 2) + offset, 1)
end
# Returns the middle element(s) of an array. Even-sized arrays,
# not having an exact middle, returns a two-element array
# of the two middle elements.
#
# [1,2,3,4,5].mid #=> 3
# [1,2,3,4,5,6].mid #=> [3,4]
#
# In contrast to #mid which utilizes an offset.
def middle
if size % 2 == 0
#[at((size/2)-1), at(size/2)]
[slice((size / 2) - 1, 1), slice(size / 2, 1)]
else
#at(size/2)
slice(size / 2, 1)
end
end
# Fetch values from a start index thru an end index.
#
# [1,2,3,4,5].thru(0,2) #=> [1,2,3]
# [1,2,3,4,5].thru(2,4) #=> [3,4,5]
#
def thru(from, to)
a = []
i = from
while i <= to
a << slice(i, 1)
i += 1
end
a
end
# Returns first _n_ elements.
#
# "Hello World".first(3) #=> "Hel"
#
def first(n=1)
slice(0, n.to_i)
end
# Returns last _n_ elements.
#
# "Hello World".last(3) #=> "rld"
#
def last(n=1)
n = n.to_i
return self if n > size
slice(-n, n) #slice(-n..-1)
end
# Change the first element.
#
# a = ["a","y","z"]
# a.first = "x"
# p a #=> ["x","y","z"]
#
def first=(x)
splice(0,x)
end
# Change the last element.
#
# a = [1,2,5]
# a.last = 3
# p a #=> [1,2,3]
#
def last=(x)
splice(-1,x)
end
# Remove and return the first element.
#
def first!
splice(0)
end
# Remove and return the last element.
#
def last!
splice(-1)
end
# A shorting of "ends at", returns the
# last index of the indexable object.
# Returns nil if there are no elements.
#
# [1,2,3,4,5].ends #=> 4
#
# This nearly equivalent to +size - 1+.
def ends
return nil if size == 0
size - 1
end
# Returns the positive ordinal index given
# a cardinal position, 1 to n or -n to -1.
#
# [1,2,3,4,5].pos(1) #=> 0
# [1,2,3,4,5].pos(-1) #=> 4
#
def pos(i)
if i > 0
return i - 1
else
size + i
end
end
# TODO Remove Array#index_of when future Ruby adds block to #index.
# Allows block usage with index.
def index_of(obj=nil,&blk)
return index(obj) unless block_given?
i=0; i+=1 until yield(self[i])
return i
end
# TODO Maybe #range could use a little error catch code.
# Returns the index range between two elements.
# If no elements are given, returns the range
# from first to last.
#
# ['a','b','c','d'].range #=> 0..3
# ['a','b','c','d'].range('b','d') #=> 1..2
#
def range(a=nil,z=nil)
if !a
0..(size-1)
else
index(a)..index(z)
end
end
end