diff options
Diffstat (limited to 'mrbgems/mruby-string-ext')
| -rw-r--r-- | mrbgems/mruby-string-ext/mrblib/string.rb | 16 | ||||
| -rw-r--r-- | mrbgems/mruby-string-ext/src/string.c | 42 |
2 files changed, 58 insertions, 0 deletions
diff --git a/mrbgems/mruby-string-ext/mrblib/string.rb b/mrbgems/mruby-string-ext/mrblib/string.rb index 4c8a2ce3b..b38b3c59f 100644 --- a/mrbgems/mruby-string-ext/mrblib/string.rb +++ b/mrbgems/mruby-string-ext/mrblib/string.rb @@ -9,6 +9,7 @@ class String # a = "abcde" # a.clear #=> "" # + # @mrbgem mruby-string-ext def clear self.replace("") end @@ -23,6 +24,7 @@ class String # " hello ".lstrip #=> "hello " # "hello".lstrip #=> "hello" # + # @mrbgem mruby-string-ext def lstrip a = 0 z = self.size - 1 @@ -40,6 +42,7 @@ class String # " hello ".rstrip #=> " hello" # "hello".rstrip #=> "hello" # + # @mrbgem mruby-string-ext def rstrip a = 0 z = self.size - 1 @@ -56,6 +59,7 @@ class String # " hello ".strip #=> "hello" # "\tgoodbye\r\n".strip #=> "goodbye" # + # @mrbgem mruby-string-ext def strip a = 0 z = self.size - 1 @@ -75,6 +79,7 @@ class String # " hello ".lstrip #=> "hello " # "hello".lstrip! #=> nil # + # @mrbgem mruby-string-ext def lstrip! s = self.lstrip (s == self) ? nil : self.replace(s) @@ -91,6 +96,7 @@ class String # " hello ".rstrip #=> " hello" # "hello".rstrip! #=> nil # + # @mrbgem mruby-string-ext def rstrip! s = self.rstrip (s == self) ? nil : self.replace(s) @@ -103,6 +109,7 @@ class String # Removes leading and trailing whitespace from <i>str</i>. Returns # <code>nil</code> if <i>str</i> was not altered. # + # @mrbgem mruby-string-ext def strip! s = self.strip (s == self) ? nil : self.replace(s) @@ -119,6 +126,7 @@ class String # "abcdef".casecmp("abcdefg") #=> -1 # "abcdef".casecmp("ABCDEF") #=> 0 # + # @mrbgem mruby-string-ext def casecmp(str) self.downcase <=> str.to_str.downcase rescue NoMethodError @@ -136,6 +144,7 @@ class String end end + # @mrbgem mruby-string-ext def rpartition(sep) raise TypeError, "type mismatch: #{sep.class} given" unless sep.is_a? String n = rindex(sep) @@ -163,6 +172,7 @@ class String # string.slice!("r") #=> "r" # string #=> "thsa sting" # + # @mrbgem mruby-string-ext def slice!(arg1, arg2=nil) raise "wrong number of arguments (for 1..2)" if arg1.nil? && arg2.nil? @@ -234,6 +244,7 @@ class String # "abcd".insert(-3, 'X') #=> "abXcd" # "abcd".insert(-1, 'X') #=> "abcdX" # + # @mrbgem mruby-string-ext def insert(idx, str) pos = idx.to_i pos += self.size + 1 if pos < 0 @@ -256,6 +267,8 @@ class String # "hello".ljust(4) #=> "hello" # "hello".ljust(20) #=> "hello " # "hello".ljust(20, '1234') #=> "hello123412341234123" + # + # @mrbgem mruby-string-ext def ljust(idx, padstr = ' ') if idx <= self.size return self @@ -297,6 +310,7 @@ class String # "25".upto("5").to_a #=> [] # "07".upto("11").to_a #=> ["07", "08", "09", "10", "11"] # + # @mrbgem mruby-string-ext def upto(other_str, excl=false, &block) return to_enum :upto, other_str, excl unless block @@ -311,6 +325,7 @@ class String end end + # @mrbgem mruby-string-ext def chars(&block) if block_given? self.split('').map do |i| @@ -323,6 +338,7 @@ class String end alias each_char chars + # @mrbgem mruby-string-ext def codepoints(&block) len = self.size diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index 0afc53386..028f77aee 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -5,6 +5,9 @@ #include "mruby/string.h" #include "mruby/range.h" +/** + * @mrbgem mruby-string-ext + */ static mrb_value mrb_str_getbyte(mrb_state *mrb, mrb_value str) { @@ -19,6 +22,9 @@ mrb_str_getbyte(mrb_state *mrb, mrb_value str) return mrb_fixnum_value((unsigned char)RSTRING_PTR(str)[pos]); } +/** + * @mrbgem mruby-string-ext + */ static mrb_value mrb_str_setbyte(mrb_state *mrb, mrb_value str) { @@ -38,6 +44,9 @@ mrb_str_setbyte(mrb_state *mrb, mrb_value str) return mrb_fixnum_value((unsigned char)byte); } +/** + * @mrbgem mruby-string-ext + */ static mrb_value mrb_str_byteslice(mrb_state *mrb, mrb_value str) { @@ -79,6 +88,8 @@ mrb_str_byteslice(mrb_state *mrb, mrb_value str) * Equivalent to <code>String#swapcase</code>, but modifies the receiver in * place, returning <i>str</i>, or <code>nil</code> if no changes were made. * Note: case conversion is effective only in ASCII region. + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_swapcase_bang(mrb_state *mrb, mrb_value str) @@ -116,6 +127,8 @@ mrb_str_swapcase_bang(mrb_state *mrb, mrb_value str) * * "Hello".swapcase #=> "hELLO" * "cYbEr_PuNk11".swapcase #=> "CyBeR_pUnK11" + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_swapcase(mrb_state *mrb, mrb_value self) @@ -141,6 +154,8 @@ mrb_str_swapcase(mrb_state *mrb, mrb_value self) * a = "hello " * a << "world" #=> "hello world" * a.concat(33) #=> "hello world!" + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_concat2(mrb_state *mrb, mrb_value self) @@ -163,6 +178,8 @@ mrb_str_concat2(mrb_state *mrb, mrb_value self) * "hello".start_with?("heaven", "hell") #=> true * "hello".start_with?("heaven", "paradise") #=> false * "h".start_with?("heaven", "hell") #=> false + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_start_with(mrb_state *mrb, mrb_value self) @@ -192,6 +209,8 @@ mrb_str_start_with(mrb_state *mrb, mrb_value self) * str.end_with?([suffixes]+) -> true or false * * Returns true if +str+ ends with one of the +suffixes+ given. + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_end_with(mrb_state *mrb, mrb_value self) @@ -218,12 +237,18 @@ mrb_str_end_with(mrb_state *mrb, mrb_value self) return mrb_false_value(); } +/* + * @mrbgem mruby-string-ext + */ static mrb_value mrb_str_hex(mrb_state *mrb, mrb_value self) { return mrb_str_to_inum(mrb, self, 16, FALSE); } +/* + * @mrbgem mruby-string-ext + */ static mrb_value mrb_str_oct(mrb_state *mrb, mrb_value self) { @@ -238,6 +263,8 @@ mrb_str_oct(mrb_state *mrb, mrb_value self) * * a = "abcde" * a.chr #=> "a" + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_chr(mrb_state *mrb, mrb_value self) @@ -245,6 +272,9 @@ mrb_str_chr(mrb_state *mrb, mrb_value self) return mrb_str_substr(mrb, self, 0, 1); } +/* + * @mrbgem mruby-string-ext + */ static mrb_value mrb_fixnum_chr(mrb_state *mrb, mrb_value num) { @@ -298,6 +328,8 @@ mrb_fixnum_chr(mrb_state *mrb, mrb_value num) * * a = "abc\ndef" * a.lines #=> ["abc\n", "def"] + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_lines(mrb_state *mrb, mrb_value self) @@ -345,6 +377,8 @@ mrb_str_lines(mrb_state *mrb, mrb_value self) * * a = "abc" * a.succ #=> "abd" + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_succ_bang(mrb_state *mrb, mrb_value self) @@ -419,6 +453,9 @@ mrb_str_succ_bang(mrb_state *mrb, mrb_value self) return self; } +/* + * @mrbgem mruby-string-ext + */ static mrb_value mrb_str_succ(mrb_state *mrb, mrb_value self) { @@ -438,6 +475,8 @@ mrb_str_succ(mrb_state *mrb, mrb_value self) * a = "world" * a.prepend("hello ") #=> "hello world" * a #=> "hello world" + * + * @mrbgem mruby-string-ext */ static mrb_value mrb_str_prepend(mrb_state *mrb, mrb_value self) @@ -516,6 +555,9 @@ utf8code(unsigned char* p) return p[0]; } +/* + * @mrbgem mruby-string-ext + */ static mrb_value mrb_str_ord(mrb_state* mrb, mrb_value str) { |
