summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-string-ext
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-string-ext')
-rw-r--r--mrbgems/mruby-string-ext/mrblib/string.rb16
-rw-r--r--mrbgems/mruby-string-ext/src/string.c42
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)
{