diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-05-03 08:26:20 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-05-03 15:30:59 +0900 |
| commit | ce054bd078168bf9a6fa41031b1bcd25a0b3f040 (patch) | |
| tree | 28ffc0fd7d04a6a9dd56c335d3c070d0060a3ad7 | |
| parent | 24dcd252f83e97bd1dbcb7abec9de3a77c28709b (diff) | |
| download | mruby-ce054bd078168bf9a6fa41031b1bcd25a0b3f040.tar.gz mruby-ce054bd078168bf9a6fa41031b1bcd25a0b3f040.zip | |
symbol.c: remove `Symbol#id2sym`.
In the ancient Ruby, symbols are represented by integers. In that era,
to get string representation from integers, we used `Integer#id2sym`
method. Later, `Symbol` was introduced, and `id2sym` was used for
compatibility. Today, no one uses `id2sym` any longer. It is described
in ISO 30170:2012 standard but I consider it as a mistake.
| -rw-r--r-- | src/symbol.c | 1 | ||||
| -rw-r--r-- | test/t/symbol.rb | 4 |
2 files changed, 0 insertions, 5 deletions
diff --git a/src/symbol.c b/src/symbol.c index 6e7425826..f550505d8 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -657,7 +657,6 @@ mrb_init_symbol(mrb_state *mrb) MRB_SET_INSTANCE_TT(sym, MRB_TT_SYMBOL); mrb_undef_class_method(mrb, sym, "new"); - mrb_define_method(mrb, sym, "id2name", sym_to_s, MRB_ARGS_NONE()); /* 15.2.11.3.2 */ mrb_define_method(mrb, sym, "to_s", sym_to_s, MRB_ARGS_NONE()); /* 15.2.11.3.3 */ mrb_define_method(mrb, sym, "to_sym", sym_to_sym, MRB_ARGS_NONE()); /* 15.2.11.3.4 */ mrb_define_method(mrb, sym, "inspect", sym_inspect, MRB_ARGS_NONE()); /* 15.2.11.3.5(x) */ diff --git a/test/t/symbol.rb b/test/t/symbol.rb index 5c674a9cb..4cb210757 100644 --- a/test/t/symbol.rb +++ b/test/t/symbol.rb @@ -17,10 +17,6 @@ assert('Symbol#===', '15.2.11.3.1') do assert_false :abc === :cba end -assert('Symbol#id2name', '15.2.11.3.2') do - assert_equal 'abc', :abc.id2name -end - assert('Symbol#to_s', '15.2.11.3.3') do assert_equal 'abc', :abc.to_s end |
