mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
pass_block, etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@74 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d18d1cea2e
commit
b0edb6968f
5 changed files with 40 additions and 7 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
Mon Feb 16 14:38:25 1998 Yukihiro Matsumoto <matz@netlab.co.jp>
|
||||||
|
|
||||||
|
* eval.c (f_pass_block): pass iterator block to other method.
|
||||||
|
|
||||||
|
* time.c (time_mon): now 1 for January and so on.
|
||||||
|
|
||||||
|
* time.c (time_year): year in 19xx (not + 1900 needed anymore).
|
||||||
|
|
||||||
Fri Feb 13 08:16:11 1998 Yukihiro Matsumoto <matz@netlab.co.jp>
|
Fri Feb 13 08:16:11 1998 Yukihiro Matsumoto <matz@netlab.co.jp>
|
||||||
|
|
||||||
* parse.y (parse_regx): handle \s before read_escape().
|
* parse.y (parse_regx): handle \s before read_escape().
|
||||||
|
|
23
eval.c
23
eval.c
|
@ -3396,6 +3396,28 @@ f_send(argc, argv, recv)
|
||||||
return vid;
|
return vid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
f_pass_block(argc, argv, recv)
|
||||||
|
int argc;
|
||||||
|
VALUE *argv;
|
||||||
|
VALUE recv;
|
||||||
|
{
|
||||||
|
VALUE vid;
|
||||||
|
|
||||||
|
if (argc == 0) ArgError("no iterator name given");
|
||||||
|
if (iterator_p())
|
||||||
|
ArgError("iterator block given to pass_block");
|
||||||
|
if (!f_iterator_p())
|
||||||
|
ArgError("pass_block called out of iterator");
|
||||||
|
|
||||||
|
vid = argv[0]; argc--; argv++;
|
||||||
|
PUSH_ITER(ITER_PRE);
|
||||||
|
vid = rb_call(CLASS_OF(recv), recv, rb_to_id(vid), argc, argv, 1);
|
||||||
|
POP_ITER();
|
||||||
|
|
||||||
|
return vid;
|
||||||
|
}
|
||||||
|
|
||||||
#include <varargs.h>
|
#include <varargs.h>
|
||||||
|
|
||||||
VALUE
|
VALUE
|
||||||
|
@ -4248,6 +4270,7 @@ Init_eval()
|
||||||
rb_define_global_function("global_variables", f_global_variables, 0);
|
rb_define_global_function("global_variables", f_global_variables, 0);
|
||||||
|
|
||||||
rb_define_method(mKernel, "send", f_send, -1);
|
rb_define_method(mKernel, "send", f_send, -1);
|
||||||
|
rb_define_method(mKernel, "pass_block", f_pass_block, -1);
|
||||||
rb_define_method(mKernel, "instance_eval", obj_instance_eval, 1);
|
rb_define_method(mKernel, "instance_eval", obj_instance_eval, 1);
|
||||||
|
|
||||||
rb_define_private_method(cModule, "append_features", mod_append_features, 1);
|
rb_define_private_method(cModule, "append_features", mod_append_features, 1);
|
||||||
|
|
|
@ -11,7 +11,7 @@ module ParseDate
|
||||||
|
|
||||||
def parsedate(date)
|
def parsedate(date)
|
||||||
# ISO 8601?
|
# ISO 8601?
|
||||||
if date =~ /(\d\d\d\d)-?(?:(\d\d)-?(\d\d)?)? *(?:(\d\d):(\d\d)(?::(\d\d))?)?/
|
if date =~ /^(\d\d\d\d)-?(?:(\d\d)-?(\d\d)?)? *(?:(\d\d):(\d\d)(?::(\d\d))?)?$/
|
||||||
return $1.to_i,
|
return $1.to_i,
|
||||||
if $2 then $2.to_i else 1 end,
|
if $2 then $2.to_i else 1 end,
|
||||||
if $3 then $3.to_i else 1 end,
|
if $3 then $3.to_i else 1 end,
|
||||||
|
@ -25,7 +25,7 @@ module ParseDate
|
||||||
if date.sub!(/(#{DAYPAT})[a-z]*,?/i, ' ')
|
if date.sub!(/(#{DAYPAT})[a-z]*,?/i, ' ')
|
||||||
wday = DAYS[$1.downcase]
|
wday = DAYS[$1.downcase]
|
||||||
end
|
end
|
||||||
if date.sub!(/(\d+):(\d+)(?::(\d+))?\s*(am|pm)?\s*(?:\s+([a-z]{1,4}(?:\s+[a-z]{1,4})|[-+]\d{4}))?/i, ' ')
|
if date.sub!(/(\d+):(\d+)(?::(\d+))?\s*(am|pm)?\s*(?:\s+([a-z]{1,4}(?:\s+[a-z]{1,4})?|[-+]\d{4}))?/i, ' ')
|
||||||
hour = $1.to_i
|
hour = $1.to_i
|
||||||
min = $2.to_i
|
min = $2.to_i
|
||||||
if $3
|
if $3
|
||||||
|
|
|
@ -32,13 +32,15 @@ end
|
||||||
if ARGV.length == 0
|
if ARGV.length == 0
|
||||||
user = ENV['USER']
|
user = ENV['USER']
|
||||||
else
|
else
|
||||||
user = ARGV[0]
|
file = user = ARGV[0]
|
||||||
ARGV.clear
|
ARGV.clear
|
||||||
end
|
end
|
||||||
|
|
||||||
file = ARGV[0]
|
|
||||||
[ENV['SPOOLDIR'], '/usr/spool', '/var/spool', '/usr', '/var'].each do |m|
|
[ENV['SPOOLDIR'], '/usr/spool', '/var/spool', '/usr', '/var'].each do |m|
|
||||||
break if File.exist? file = "#{m}/mail/#{user}"
|
if File.exist? f = "#{m}/mail/#{user}"
|
||||||
|
file = f
|
||||||
|
break
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
$outcount = 0;
|
$outcount = 0;
|
||||||
|
@ -63,7 +65,7 @@ def fromout(date, from, subj)
|
||||||
end
|
end
|
||||||
from = from.kconv(lang).kjust(28)
|
from = from.kconv(lang).kjust(28)
|
||||||
subj = subj.kconv(lang).kjust(40)
|
subj = subj.kconv(lang).kjust(40)
|
||||||
printf "%02d/%02d/%02d [%s] %s\n",y,m,d,from,subj
|
printf "%02d/%02d/%02d [%s] %s\n",y%100,m,d,from,subj
|
||||||
$outcount += 1
|
$outcount += 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -323,7 +323,7 @@ EXPORTS
|
||||||
reg_regsub
|
reg_regsub
|
||||||
rb_set_kcode
|
rb_set_kcode
|
||||||
; ruby.c
|
; ruby.c
|
||||||
rb_require_modules
|
ruby_require_modules
|
||||||
rb_load_file
|
rb_load_file
|
||||||
ruby_script
|
ruby_script
|
||||||
ruby_prog_init
|
ruby_prog_init
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue