[#2139] Best way to install ri documentation — Dave Thomas <dave@...>
Folks:
On Monday, January 5, 2004, 2:29:57 AM, Dave wrote:
Hi,
Perhaps make it available for mirrors and save ruby-lang's bandwidth?
Hi,
So, I'm thinking about doing the following? Is this OK with everyone?
Hi,
On Tue, 6 Jan 2004 00:47:41 +0900
On Mon, 12 Jan 2004 23:30:52 +0900
On Tue, Jan 13, 2004 at 12:01:38AM +0900, Dave Thomas wrote:
Hi, Dave,
Hi,
Hi, daz,
On Tuesday, 6 January 2004 at 15:02:50 +0900, NAKAMURA, Hiroshi wrote:
[#2163] Occasional --enable-pthread hangs... — Nathaniel Talbott <nathaniel@...>
First of all, thanks so much to all those that have helped with
On Jan 5, 2004, at 21:49, Nathaniel Talbott wrote:
[#2186] Absolute paths in shebang lines? — "J.Herre" <jlst@...>
What would the reaction be to reconsidering the following proposal?
[#2194] File.readable_world? and File.writable_world? — Ian Macdonald <ian@...>
Hello,
On Fri, Jan 09, 2004 at 06:02:07PM +0900, Ian Macdonald wrote:
On Fri 09 Jan 2004 at 23:10:02 +0900, Eivind Eklund wrote:
Hi,
On Sun 11 Jan 2004 at 00:47:33 +0900, Yukihiro Matsumoto wrote:
Hi,
On Sun 11 Jan 2004 at 21:40:22 +0900, Yukihiro Matsumoto wrote:
Hi,
On Mon 12 Jan 2004 at 10:31:52 +0900, Yukihiro Matsumoto wrote:
Hi,
On Mon 12 Jan 2004 at 22:36:16 +0900, Yukihiro Matsumoto wrote:
On Mon 12 Jan 2004 at 10:31:52 +0900, Yukihiro Matsumoto wrote:
On Sun 11 Jan 2004 at 00:47:33 +0900, Yukihiro Matsumoto wrote:
[#2211] xxx_init_copy — Dave Thomas <dave@...>
I notivce that there're a bunch of new xxx_init_copy methods: RDoc is
Hi,
Hi,
Hi,
Hi,
[#2216] ruby aborts in data-handling applications — xsdg <xsdg@...>
I reported a similar bug about 2 or 3 months ago. The problem seemed to go
Hi,
I've finally found a combination that will reliably segfault. Since my first post on this topic, I've switched the backend from BDB to GDBM.
Hi,
On Mon, Jan 19, 2004 at 11:32:59AM +0900, nobu.nokada@softhome.net wrote:
[#2225] Fwd: [ruby-cvs] ruby: * file.c (test_wr, test_ww): New functions implementing new — Dave Thomas <dave@...>
On Mon 12 Jan 2004 at 23:38:29 +0900, Dave Thomas wrote:
[#2251] YAML_Unit_Tests failed — "NAKAMURA, Hiroshi" <nahi@...>
Hi,
[#2285] A suggestion for libraries such as base64.rb — Dave Thomas <dave@...>
Some of the older libraries simply insert stuff into the top-level
[#2305] Time#usec round trip problem — Minero Aoki <aamine@...>
Hi,
[#2306] YAML.dump("a".."z") — Minero Aoki <aamine@...>
Hi,
pp.rb patch to optionally sort hash keys
I see that Perl's Data::Dumper and YAML already have this feature, and I happen to need it in pp. Patched against 1.8.0's pp.rb. -- dave
Attachments (1)
--- /usr/lib/ruby/1.8/pp.rb Mon May 12 09:49:13 2003
+++ pp2.rb Sun Jan 25 19:03:16 2004
@@ -69,6 +69,12 @@
--- PP.sharing_detection = boolean_value
sets the sharing detection flag.
+--- PP.sort_keys
+ returns the sort keys flag as a boolean value.
+
+--- PP.sort_keys = boolean_value
+ sets the sort keys flag.
+
== methods
--- pp(obj)
adds ((|obj|)) to the pretty printing buffer
@@ -154,6 +160,11 @@
attr_accessor :sharing_detection
end
+ @sort_keys = false
+ class << self
+ attr_accessor :sort_keys
+ end
+
module PPMethods
InspectKey = :__inspect_key__
@@ -219,17 +230,32 @@
def pp_hash(obj)
group(1, '{', '}') {
- obj.each {|k, v|
- comma_breakable unless first?
- group {
- pp k
- text '=>'
- group(1) {
- breakable ''
- pp v
+ if PP.sort_keys
+ obj.to_a.sort.each {|kv|
+ k, v = kv[0, 2]
+ comma_breakable unless first?
+ group {
+ pp k
+ text '=>'
+ group(1) {
+ breakable ''
+ pp v
+ }
}
}
- }
+ else
+ obj.each {|k, v|
+ comma_breakable unless first?
+ group {
+ pp k
+ text '=>'
+ group(1) {
+ breakable ''
+ pp v
+ }
+ }
+ }
+ end
}
end
end
@@ -592,4 +618,16 @@
end
end
end
+
+ class PPSortKeysTest < Test::Unit::TestCase
+ def test_hash
+ begin
+ PP.sort_keys = true
+ assert_equal("{1=>2, 3=>4, 5=>6, 7=>8, 9=>10}\n",
+ PP.pp({1=>2, 3=>4, 5=>6, 7=>8, 9=>10}, ''))
+ ensure
+ PP.sort_keys = false
+ end
+ end
+ end
end