[#38647] [Ruby 1.9 - Bug #5130][Open] Thread.pass sticks on OpenBSD — Yui NARUSE <naruse@...>
[#38653] [Ruby 1.9 - Bug #5135][Open] Ruby 1.9.3-preview1 tests fails in Fedora Rawhide — Vit Ondruch <v.ondruch@...>
2011/8/4 Vit Ondruch <v.ondruch@tiscali.cz>:
[#38666] [Ruby 1.9 - Bug #5138][Open] Add nonblocking IO that does not use exceptions for EOF and EWOULDBLOCK — Yehuda Katz <wycats@...>
On Tue, Aug 02, 2011 at 07:35:15AM +0900, Yehuda Katz wrote:
(08/02/2011 07:46 AM), Aaron Patterson wrote:
Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
(08/02/2011 08:14 AM), Eric Wong wrote:
Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
(08/02/2011 08:35 AM), Eric Wong wrote:
Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
2011/8/2 Eric Wong <normalperson@yhbt.net>:
2011/8/2 Tanaka Akira <akr@fsij.org>:
Yehuda Katz <wycats@gmail.com> wrote:
Yehuda Katz
On Tue, Aug 02, 2011 at 07:35:15AM +0900, Yehuda Katz wrote:
2011/8/2 Yehuda Katz <wycats@gmail.com>:
Yehuda Katz <wycats@gmail.com> wrote:
"tenderlovemaking (Aaron Patterson)" <aaron@tenderlovemaking.com> wrote:
On Wed, Jul 10, 2013 at 09:03:19AM +0900, Eric Wong wrote:
Aaron Patterson <tenderlove@ruby-lang.org> wrote:
On Wed, Jul 10, 2013 at 10:52:26AM +0900, Eric Wong wrote:
[#38695] [Ruby 1.9 - Bug #5144][Open] Remove GPL file from repository — Vit Ondruch <v.ondruch@...>
[#38706] [Ruby 1.9 - Bug #5147][Open] mkmf should not require static library when ruby is built with --enable-shared — Vit Ondruch <v.ondruch@...>
[#38831] Help out with the next version of ruby-lang.org — Magnus Holm <judofyr@...>
https://github.com/rubylang/ruby-lang.org
Great news! Congratulations for the initiative!
Just wondering why is it not under https://github.com/ruby account,
[#38866] [Ruby 1.9 - Bug #5173][Open] [PATCH] json/generator: prevent GC of temporary strings — Eric Wong <normalperson@...>
[#38881] Init_prelude gone in 1.9.3 — Christoph Kappel <unexist@...>
Dear list,
[#38894] Why Ruby has versioned paths? — V咜 Ondruch <v.ondruch@...>
Hello, could somebody please elaborate about reasons why Ruby uses versioned
2011/8/10 V鱈t Ondruch <v.ondruch@gmail.com>
2011/8/10 Michael Klishin <michael.s.klishin@gmail.com>
2011/8/10 V鱈t Ondruch <v.ondruch@gmail.com>
[#38911] [Ruby 1.9 - Feature #5183][Open] [PATCH] openssl: add OP_NO_COMPRESSION constant — Eric Wong <normalperson@...>
[#38972] [Ruby 1.9 - Bug #5193][Open] ruby_thread_data_type linker errors fixed with RUBY_EXTERN — Charlie Savage <cfis@...>
[#38980] :symbol.is_a?(String) — Magnus Holm <judofyr@...>
http://viewsourcecode.org/why/redhanded/inspect/SymbolIs_aString.html
What would ObjectSpace.each_object(String) { |o| p o } produce?
On Tue, Aug 16, 2011 at 17:01, Haase, Konstantin
This would only be feasible if frozen strings would truly be frozen. Currently, there are a lot of C extensions modifying frozen strings (which is why Rubinius and JRuby have to treat frozen strings as mutable). Unfortunately, the current C API gives access to the raw character array, making it impossible to prevent frozen strings from being modified. What if a cached, frozen string is modified? Also, I see it as a feature of symbols that they are not encoding aware.
[#39000] [Ruby 1.9 - Bug #5199][Open] ext/tk: RB_GC_GUARD seems to be needed in several places — Eric Wong <normalperson@...>
[#39022] [Ruby 1.9 - Bug #5204][Open] `defined?(@@foo) && @foo` may fail — Magnus Holm <judofyr@...>
[#39025] [Ruby 1.9 - Feature #5206][Open] ruby -K should warn — Eric Hodel <drbrain@...7.net>
[#39062] Releasing r33028 as Ruby 1.9.3 RC1 — Yugui <yugui@...>
Hi,
Hi,
Hi
On Sat, Sep 3, 2011 at 12:14 AM, KOSAKI Motohiro
> We are still suffering from a sample/test.rb failure for system(),
[#39079] [Ruby 1.9 - Feature #5221][Open] LoadEerror#path — Koichi Sasada <redmine@...>
[#39093] [Ruby 1.9 - Bug #5227][Open] Float#round fails on corner cases — Marc-Andre Lafortune <ruby-core@...>
Hi
(2011/08/27 4:40), Marc-Andre Lafortune wrote:
Hi,
2011/8/29 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:
Hi,
[#39118] [Ruby 1.9 - Bug #921] autoload is not thread-safe — Hiroshi Nakamura <nakahiro@...>
[#39120] [Ruby 1.9 - Bug #5233][Open] OpenSSL::SSL::SSLSocket has problems with encodings other than "ascii" — Niklas Baumstark <niklas.baumstark@...>
[#39134] [Ruby 1.9 - Bug #5237][Open] IO.copy_stream calls #read on an object infinitely many times — Brian Ford <brixen@...>
On Sat, Aug 27, 2011 at 3:54 AM, Eric Wong <normalperson@yhbt.net> wrote:
[#39142] [Ruby 1.9 - Bug #5239][Open] bootstraptest/runner.rb: assert_normal_exit logic broken on Debian/GNU kFreeBSD — Lucas Nussbaum <lucas@...>
> I've just checked, and FreeBSD 8.2 is also affected by this issue.
On 29/08/11 at 12:43 +0900, KOSAKI Motohiro wrote:
[#39146] [Ruby 1.9 - Bug #5240][Open] Hang when using threads + forks on Debian GNU/kFreeBSD — Lucas Nussbaum <lucas@...>
[#39162] [Ruby 1.9 - Bug #5244][Open] Continuation causes Bus Error on Debian sparc — Lucas Nussbaum <lucas@...>
[#39184] [Ruby 1.9 - Bug #1792][Closed] Fixnum#& 等が、Rational などを受けつける — Kenta Murata <muraken@...>
Is it intentional?
[#39195] [Ruby 1.9 - Bug #5251][Open] Thread Change Breaks Windows Builds — Charlie Savage <cfis@...>
[#39216] [Ruby 1.9 - Bug #5253][Open] PTY with wait incorrectly sets exit status for exit command — Simon Chiang <simon.a.chiang@...>
[ruby-core:38954] [Ruby 1.9 - Feature #4102] Proposal for 'let'. A new approach using block-defaults in 1.9
Issue #4102 has been updated by Tom Wardrop.
Thanks for the tips Magnus, they're very handy. I forget that begin ... end can be used just about anywhere to encapsulate multiple expressions that lead to a single result. The #tap method I simply had no idea about.
Cheers
----------------------------------------
Feature #4102: Proposal for 'let'. A new approach using block-defaults in 1.9
http://redmine.ruby-lang.org/issues/4102
Author: john mair
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
=begin
This is a very simple function, it would be implemented as follows:
module Kernel
private
def let() yield end
end
First of all, do not dismiss this functionality out of hand because of
its simplicity.
Even though it is just a 'yield', when it is combined with Ruby 1.9's
block defaults and new block-variable scoping rules it is actually quite
powerful and it behaves exactly like a let* in lisp.
Some advantages of this functionality are:
(1) Gives you precise control over the scope of your variables.
I note that after the publication of "Metaprogramming in Ruby" by Paolo
Perrotta the following idiom has started to appear:
proc do
..my code..
end.call
It is used exactly as the proposed 'let' would be used, but is
syntactically much uglier.
Yes, i know an alternative is to just make shorter and smaller methods.
But is the ability to control and restrict scope ever a bad thing?
(2) Testing and teaching about blocks.
As the proposed 'let' simply yields to a block it can be used to
illustrate block behaviour and block concepts to a new Ruby programmer.
It also may be useful to an experienced programmer when trying out new
ideas.
Here are some example uses of the proposed 'let':
Example 1: Carve out a temporary scope, make 'x' local to that scope
x = :outer
let { |x| x = :inner } #=> :inner
x #=> :outer
Example 2: Here we use Ruby 1.9's block-defaults to make 'y' block-local
and give it a value:
let { |y=10| y } #=> 10
Example 3: Make 'x' and 'y' block-local and have 'y' value depend on 'x'
(equivalent to let* in lisp)
let { |x=10, y=(2*x)| [x, y] } #=> [10, 20]
In summary, I think this proposal should succeed for the following
reasons:
(1) It is an exceptionally simple implementation.
(2) More control over scope is never a bad thing.
(3) I have seen people re-implementing this functionality themselves
using: proc { ..code.. }.call
(4) It is very useful for teaching and testing block behaviour.
Thanks,
John
=end
--
http://redmine.ruby-lang.org