Files
mruby-mruby/mrbgems/mruby-method
KOBAYASHI Shuji 89f591485b Change name and usage of presym macros
To be also able to build mruby without presym in the future. However,
`MRB_QSYM` has been removed and changed as follows:

### Example

|       Type                | Symbol |  Previous Style  |   New Style    |
|---------------------------|--------|------------------|----------------|
| Operator                  | &      | MRB_QSYM(and)    | MRB_OPSYM(and) |
| Class Variable            | @@foo  | MRB_QSYM(00_foo) | MRB_CVSYM(foo) |
| Instance Variable         | @foo   | MRB_QSYM(0_foo)  | MRB_IVSYM(foo) |
| Method with Bang          | foo!   | MRB_QSYM(foo_b)  | MRB_SYM_B(foo) |
| Method with Question mark | foo?   | MRB_QSYM(foo_p)  | MRB_SYM_Q(foo) |
| Mmethod with Equal        | foo=   | MRB_QSYM(foo_e)  | MRB_SYM_E(foo) |

This change makes it possible to define, for example, `MRB_IVSYM(foo)` as
`mrb_intern_lit(mrb, "@" "foo")`, which is useful if we support building
without presym in the future.
2020-11-13 13:41:20 +09:00
..
2017-12-18 10:54:37 +09:00

mruby-method

A implementetion of class Method and UnboundMethod for mruby

p Enumerable.instance_method(:find_all).source_location
#=> ["mruby/mruby/mrblib/enum.rb", 148]

Note

You need to enable debug option in your build configuration to use source_location method in this gem, for example:

MRuby::Build.new do |conf|
  enable_debug
end

Supported Methods

Kernel

  • Kernel#method
  • Kernel#singleton_method

Module

  • Module#instance_method

Method class

  • Method#name
  • Method#call
  • Method#super_method
  • Method#arity
  • Method#unbind
  • Method#[]
  • Method#owner
  • Method#receiver
  • Method#parameters
  • Method#source_location
  • Method#to_proc

UnboundMethod class

  • UnboundMethod#name
  • UnboundMethod#bind
  • UnboundMethod#super_method
  • UnboundMethod#arity
  • UnboundMethod#owner
  • UnboundMethod#parameters
  • UnboundMethod#source_location

See also