[#41431] [ruby-trunk - Bug #5694][Open] Proc#arity doesn't take optional arguments into account. — Marc-Andre Lafortune <ruby-core@...>
Maybe we can add a new arity_range method that does this?
On Thu, Dec 1, 2011 at 6:54 PM, Yehuda Katz <wycats@gmail.com> wrote:
You could probably extract the information from #parameters, yeah.
On Thu, Dec 1, 2011 at 11:13 PM, Yehuda Katz <wycats@gmail.com> wrote:
Yeahit would be nice to be able to do:
[#41435] [ruby-trunk - Feature #5695][Open] CoffeeScript "is" and "isnt" keywords — Suraj Kurapati <sunaku@...>
[#41456] [ruby-trunk - Bug #5700][Open] fork {} segfaults during VM cleanup when run inside Fiber — Eric Wong <normalperson@...>
[#41478] [ruby-trunk - Feature #5707][Open] temporary file creation without finalizer and delegate. — Akira Tanaka <akr@...>
Akira Tanaka <akr@fsij.org> wrote:
2011/12/5 Eric Wong <normalperson@yhbt.net>:
[#41496] [ruby-trunk - Bug #5714][Open] Unexpected error of STDIN#read with non-ascii input on Windows XP — Heesob Park <phasis@...>
Hello,
Hello,
Hello,
[#41511] [ruby-trunk - Bug #5719][Open] Hash::[] can't handle 100000+ args — Nick Quaranto <nick@...>
[#41541] [ruby-trunk - Feature #5726][Open] Process::EXIT_SUCCESS and Process::EXIT_FAILURE — Akira Tanaka <akr@...>
[#41557] [ruby-trunk - Bug #5730][Open] Optinal block parameters assigns wrong — Yukihiro Matsumoto <matz@...>
2011/12/9 Yukihiro Matsumoto <matz@ruby-lang.org>:
Hi,
Hi Matz,
[#41581] [ruby-trunk - Bug #5737][Open] WEBrick doesn't support keep alive connections for 204 and 304 responses — Aaron Patterson <aaron@...>
[#41586] [ruby-trunk - Feature #5741][Open] Secure Erasure of Passwords — Martin Bosslet <Martin.Bosslet@...>
[#41592] My bug evaluation criteria — Marc-Andre Lafortune <ruby-core-mailing-list@...>
I don't think there is an official way to judge a bug, but for me it
[#41594] [ruby-trunk - Bug #5746][Open] Proc#curry too strict about lambda's arity. — Marc-Andre Lafortune <ruby-core@...>
[#41618] [ruby-trunk - Bug #5754][Open] Double require bug in 1.9.3 — Evan Phoenix <evan@...>
[#41630] redmine.ruby-lang.org -> bugs.ruby-lang.org — Shugo Maeda <shugo@...>
Hello,
[#41634] [ruby-trunk - Bug #5759][Open] flatten calls to_ary on everything — Thomas Sawyer <transfire@...>
[#41656] [ruby-trunk - Bug #5763][Open] sprintf not throwing error for wrong number of arguments — NagaChaitanya Vellanki <me@...>
[#41662] [ruby-trunk - Bug #5765][Open] [PATCH] modernize Timeout usage in net/{http,pop,smtp,telnet} — Eric Wong <normalperson@...>
[#41668] [ruby-trunk - Feature #5766][Open] Hash.each_with_object should behave differently when block's arity is 3 — Rodrigo Rosenfeld Rosas <rr.rosas@...>
[#41672] [ruby-trunk - Feature #5767][Open] Cache expanded_load_path to reduce startup time — Yura Sokolov <funny.falcon@...>
[#41681] Documentation of the language itself (syntax, meanings, etc) — Rodrigo Rosenfeld Rosas <rr.rosas@...>
Since Ruby is built on top of simple concepts, most of the documentation
Em 15-12-2011 19:23, Gary Wright escreveu:
On Dec 15, 2011, at 7:39 PM, Rodrigo Rosenfeld Rosas wrote:
Em 19-12-2011 19:38, Eric Hodel escreveu:
On Dec 19, 2011, at 3:04 PM, Rodrigo Rosenfeld Rosas wrote:
Em 19-12-2011 23:35, Eric Hodel escreveu:
[#41691] Ruby IRC Presence Problem — Eero Saynatkari <ruby-ml@...>
Hi,
[#41717] Feature : optional argument in File.join — Michel Demazure <michel@...>
In Windows, when using File.join, one often ends with a path containing
On Mon, Dec 19, 2011 at 6:09 AM, Michel Demazure <michel@demazure.com> wrote:
Luis Lavena wrote in post #1037331:
Hi,
On Tue, Dec 20, 2011 at 02:12, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
On Tue, Dec 20, 2011 at 08:17, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Nikolai Weibull wrote in post #1037488:
[#41721] Ruby and oniguruma relation. — V咜 Ondruch <v.ondruch@...>
Hi everybody,
[#41725] [ruby-trunk - Feature #5778][Open] Allow WEBrick::HTTPResponse to send IO-duck-typed bodies — Alex Young <alex@...>
[#41728] [ruby-trunk - Feature #5781][Open] Query attributes (attribute methods ending in `?` mark) — Thomas Sawyer <transfire@...>
[#41774] [ruby-trunk - Feature #5788][Open] Thread#at_exit — Masaki Matsushita <glass.saga@...>
[#41780] [Backport93 - Backport #5793][Open] Please backport r33662, r33666 — Jon Forums <redmine@...>
[#41787] Breaking while loading — Nikolai Weibull <now@...>
Hi!
[#41797] [ruby-trunk - Feature #5805][Open] object_hexid — Thomas Sawyer <transfire@...>
[#41799] Best way to separate implementation specific code? — Luis Lavena <luislavena@...>
Hello,
2011/12/24 Luis Lavena <luislavena@gmail.com>:
Hello,
On Sun, Dec 25, 2011 at 10:51 PM, U.Nakamura <usa@garbagecollect.jp> wrote:
Hello,
Hello,
Hi,
On Tue, Dec 27, 2011 at 11:21 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Hi,
On Tue, Dec 27, 2011 at 11:44 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#41812] [ruby-trunk - Feature #5809][Open] Benchmark#bm: remove the label_width parameter — Benoit Daloze <redmine@...>
[#41841] YAML has become very slow under 1.9 — j.wuttke <j.wuttke@...>
The simple script
[#41848] [ruby-trunk - Feature #5826][Open] When the RUBY API_VERSION will be increased? — Ayumu AIZAWA <ayumu.aizawa@...>
[ruby-core:41569] [ruby-trunk - Feature #5478] import Set into core, add syntax
Issue #5478 has been updated by Alexey Muranov.
Magnus Holm wrote:
>
> From a theoretical point of view, a relation has a heading + a set
> that holds tuples (arrays):
>
> class Relation
> attr_reader :header, :values
>
> def inittialize(header, values)
> @header = header
> @values = values
> end
> end
>
> Relation.new(%w[id name], Set[[1, 'Magnus'], [2, 'Alexy']])
>
> Of course, there are many other ways to represent it (depending on
> your requirements). Sometimes you want to use a set of hashes. I don't
> quite see how the merging of Set and Hash makes it easier to represent
> relations though. It's still a two-dimensional data-structure, so you
> either need a Set that contains a Hash or a tuple (Set, Array/Hash).
I agree, i was simply pointing out that set is, in my opinion, a more basic data structure than associative array, and both associative arrays and relations can be either built on top of it, or simply represented by sets. In particular, it seems wrong to me that Set uses Hash in implementation, and not the other way around.
As Hash class already exists and is the native class for associative arrays, i proposed a way to transform it into set so that to still be able to use it as an associative array and so that most of the current syntax works. Also this would give a common WYSIWYG :) syntax for both sets and associative arrays: { 1, { 2 => 3 }, 4, {5} }.
I was thinking like this: how to simplify Hash to use it as a base class for both Set and Hash? And i ended up with a data structure that was just a set. Then i thought: how now to build Hash back on top of it? And i decided that there were almost nothing to build, sets can be used as associative arrays, just store (key,value) pairs in them and add methods for fetching and inserting by key. Of course, there need to be a way to set default_value for associative arrays, etc.
I agree with your examples of how to represent Relation, they both use Set as top-level structure. As you pointed out, you can just use a set of associative arrays, in my proposed literal syntax:
{ { "id" => "1", "name" => "Magnus" },
{ "id" => "2", "name" => "Alexey", "country" => "France" } }
This might not be the most efficient way, and you would use instead:
Relation.new(%w[id name country], { [1, "Magnus", nil], [2, "Alexey", "France"] })
----------------------------------------
Feature #5478: import Set into core, add syntax
http://redmine.ruby-lang.org/issues/5478
Author: Konstantin Haase
Status: Open
Priority: Normal
Assignee:
Category:
Target version: 3.0
=begin
A set is a central data structure. However, a lot of Ruby developers use arrays for situations where it would be more reasonable to use a set. One reason for that is that it is way easier to use Array then Set at the moment, another one is that developers are simply not aware it exists.
I propose moving Set from the stdlib to core and possibly add a syntax or a method on array for creating Set literals.
First class syntax suggestions:
<1, 2, 3> # might be tricky to parse
#[1, 2, 3] # would collide with comments
$[1, 2, 3]
${1, 2, 3}
Method suggestions:
~[1, 2, 3]
+[1, 2, 3]
Whitespace separated String Sets could look like this:
%w<foo bar blah> # creates an array at the moment
#w[foo bar blah] # would collide with comments
$w[foo bar blah] # would collide with sending :[] to $w
$w{foo bar blah}
~%w[foo bar blah] # not really shorter than using an array with strings
+%w[foo bar balh] # not really shorter than using an array with strings
Maybe it's ok to not have a whitespace separated syntax, I'm just brainstorming here.
The issue with the method approach is that it would create an Array to send the message to first.
I favor the <1, 2, 3> syntax, possibly without the ability to create a whitespace separated version.
I'd be willing to work on a patch not only for MRI but also for JRuby and Rubinius if you would consider this to be useful.
Although I would need help with the parser.
=end
--
http://redmine.ruby-lang.org