summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-string-ext/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-03-27 12:15:19 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-03-27 12:15:19 +0900
commit5067e7b0640507b1b953609b53a00a1bf14042c1 (patch)
treeeb3975b13412687b8261f60cb82e6d3afefb3da4 /mrbgems/mruby-string-ext/src
parent292abdb609386b56cfa75fb0a48e0d564bdc9443 (diff)
parent0df65751c68492285306f9f6f020f3727dfaf51a (diff)
downloadmruby-5067e7b0640507b1b953609b53a00a1bf14042c1.tar.gz
mruby-5067e7b0640507b1b953609b53a00a1bf14042c1.zip
Merge pull request #1959 from mattn/string_hex
Implement String#hex
Diffstat (limited to 'mrbgems/mruby-string-ext/src')
-rw-r--r--mrbgems/mruby-string-ext/src/string.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c
index bb4b4c8fc..ce11da866 100644
--- a/mrbgems/mruby-string-ext/src/string.c
+++ b/mrbgems/mruby-string-ext/src/string.c
@@ -163,6 +163,12 @@ mrb_str_end_with(mrb_state *mrb, mrb_value self)
return mrb_false_value();
}
+static mrb_value
+mrb_str_hex(mrb_state *mrb, mrb_value self)
+{
+ return mrb_str_to_inum(mrb, self, 16, FALSE);
+}
+
void
mrb_mruby_string_ext_gem_init(mrb_state* mrb)
{
@@ -176,6 +182,7 @@ mrb_mruby_string_ext_gem_init(mrb_state* mrb)
mrb_define_method(mrb, s, "<<", mrb_str_concat2, MRB_ARGS_REQ(1));
mrb_define_method(mrb, s, "start_with?", mrb_str_start_with, MRB_ARGS_REST());
mrb_define_method(mrb, s, "end_with?", mrb_str_end_with, MRB_ARGS_REST());
+ mrb_define_method(mrb, s, "hex", mrb_str_hex, MRB_ARGS_NONE());
}
void