Skip to content

Commit

Permalink
add Kernel#send
Browse files Browse the repository at this point in the history
  • Loading branch information
masuidrive committed May 31, 2012
1 parent fae483f commit 481d287
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
9 changes: 5 additions & 4 deletions mrblib/kernel.rb
Expand Up @@ -28,13 +28,14 @@ def self.loop #(&block)
# Alias for +send+.
#
# ISO 15.3.1.3.4
def __send__(symbol, *args, &block)
#def __send__(symbol, *args, &block)
### *** TODO *** ###
end
#end

# 15.3.1.3.18
def instance_eval(string=nil, &block)
### *** TODO *** ###
raise "Not implemented yet"
end

##
Expand Down Expand Up @@ -62,9 +63,9 @@ def loop #(&block)
# block.
#
# ISO 15.3.1.3.44
def send(symbol, *args, &block)
#def send(symbol, *args, &block)
### *** TODO *** ###
end
#end

##
# Print arguments
Expand Down
8 changes: 4 additions & 4 deletions src/kernel.c
Expand Up @@ -274,11 +274,11 @@ mrb_f_send(int argc, mrb_value *argv, mrb_value recv)
static mrb_value
mrb_f_send_m(mrb_state *mrb, mrb_value self)
{
mrb_value *argv;
mrb_value name, block, *argv;
int argc;

mrb_get_args(mrb, "*", &argv, &argc);
return mrb_f_send(argc, argv, self);
mrb_get_args(mrb, "&o*", &block, &name, &argv, &argc);
return mrb_funcall_with_block(mrb,self, mrb_string_value_ptr(mrb, name), argc, argv, block);
}

/* 15.3.1.2.1 */
Expand Down

0 comments on commit 481d287

Please sign in to comment.