X-Git-Url: http://nitlanguage.org diff --git a/lib/standard/string.nit b/lib/standard/string.nit index 3b0065c..20d0c9e 100644 --- a/lib/standard/string.nit +++ b/lib/standard/string.nit @@ -22,9 +22,9 @@ intrude import array abstract class AbstractString special AbstractArrayRead[Char] - readable private attr _items: NativeString + readable private var _items: NativeString - redef meth [](index) do return _items[index] + redef fun [](index) do return _items[index] # Create a substring. # @@ -32,7 +32,7 @@ special AbstractArrayRead[Char] # "abcd".substring(-1, 2) # --> "a" # "abcd".substring(1, 0) # --> "" # "abcd".substring(2, 5) # --> "cd" - meth substring(from: Int, count: Int): String + fun substring(from: Int, count: Int): String do assert count >= 0 count += from @@ -55,7 +55,7 @@ special AbstractArrayRead[Char] # "abcd".substring(1) # --> "bcd" # "abcd".substring(-1) # --> "abcd" # "abcd".substring(2) # --> "cd" - meth substring_from(from: Int): String + fun substring_from(from: Int): String do assert from < length return substring(from, length - from) @@ -65,7 +65,7 @@ special AbstractArrayRead[Char] # # "bc".is_substring("abcd",1) # --> true # "bc".is_substring("abcd",2) # --> false - meth has_substring(str: String, pos: Int): Bool + fun has_substring(str: String, pos: Int): Bool do var itsindex = str.length - 1 var myindex = pos + itsindex @@ -84,26 +84,26 @@ special AbstractArrayRead[Char] # # "abc".is_prefix("abcd") # --> true # "bc".is_prefix("abcd") # --> false - meth has_prefix(prefix: String): Bool do return has_substring(prefix,0) + fun has_prefix(prefix: String): Bool do return has_substring(prefix,0) # Is this string suffixed by 'suffix' # # "abcd".has_suffix("abc") # --> false # "abcd".has_suffix("bcd") # --> true - meth has_suffix(suffix: String): Bool do return has_substring(suffix, length - suffix.length) + fun has_suffix(suffix: String): Bool do return has_substring(suffix, length - suffix.length) # If `self' contains only digits, return the corresponding integer - meth to_i: Int + fun to_i: Int do # Shortcut return to_s.to_cstring.atoi end # If `self' contains only digits and alpha <= 'f', return the corresponding integer. - meth to_hex: Int do return a_to(16) + fun to_hex: Int do return a_to(16) # If `self' contains only digits and letters, return the corresponding integer in a given base - meth a_to(base: Int) : Int + fun a_to(base: Int) : Int do var i = 0 var neg = false @@ -131,7 +131,7 @@ special AbstractArrayRead[Char] end # String to upper case - meth to_upper: String + fun to_upper: String do var s = new Buffer.with_capacity(length) for i in self do s.add(i.to_upper) @@ -139,7 +139,7 @@ special AbstractArrayRead[Char] end # String to lower case - meth to_lower : String + fun to_lower : String do var s = new Buffer.with_capacity(length) for i in self do s.add(i.to_lower) @@ -147,7 +147,7 @@ special AbstractArrayRead[Char] end - redef meth output + redef fun output do var i = 0 while i < length do @@ -180,15 +180,14 @@ special AbstractString end # Return a null terminated char * - meth to_cstring: NativeString + fun to_cstring: NativeString do return _items end - redef meth ==(o) + redef fun ==(o) do if not o isa String or o is null then return false - assert o isa String var l = length if o.length != l then return false var i = 0 @@ -201,7 +200,7 @@ special AbstractString return true end - redef meth <(s) + redef fun <(s) do var i = 0 var l1 = length @@ -226,7 +225,7 @@ special AbstractString end # The concatenation of `self' with `r' - meth +(s: String): String + fun +(s: String): String do var r = new Buffer.with_capacity(length + s.length) r.append(self) @@ -235,7 +234,7 @@ special AbstractString end # i repetitions of self - meth *(i: Int): String + fun *(i: Int): String do assert i >= 0 var r = new Buffer.with_capacity(length * i) @@ -246,7 +245,7 @@ special AbstractString return r.to_s end - redef meth to_s do return self + redef fun to_s do return self end # Strings are arrays of characters. @@ -258,7 +257,7 @@ special AbstractArray[Char] redef type OTHER: String - redef meth []=(index, item) + redef fun []=(index, item) do if index == length then add(item) @@ -268,14 +267,14 @@ special AbstractArray[Char] _items[index] = item end - redef meth add(c) + redef fun add(c) do if _capacity <= length then enlarge(length + 5) _items[length] = c _length += 1 end - redef meth enlarge(cap) + redef fun enlarge(cap) do var c = _capacity if cap <= c then return @@ -286,7 +285,7 @@ special AbstractArray[Char] _capacity = c end - redef meth append(s) + redef fun append(s) do if s isa String then var sl = s.length @@ -298,7 +297,7 @@ special AbstractArray[Char] end end - redef meth to_s: String + redef fun to_s: String do var l = length var a = calloc_string(l+1) @@ -310,7 +309,7 @@ special AbstractArray[Char] return new String.with_native(a, length) end - redef meth <(s) + redef fun <(s) do var i = 0 var l1 = length @@ -356,10 +355,9 @@ special AbstractArray[Char] _length = 0 end - redef meth ==(o) + redef fun ==(o) do if not o isa Buffer or o is null then return false - assert o isa Buffer var l = length if o.length != l then return false var i = 0 @@ -372,7 +370,7 @@ special AbstractArray[Char] return true end - readable private attr _capacity: Int + readable private var _capacity: Int end ############################################################################### @@ -380,14 +378,14 @@ end ############################################################################### redef class Object - # meth class_name: String is extern intern # The name of the class + # fun class_name: String is extern intern # The name of the class # User redeable representation of `self'. - meth to_s: String do return inspect + fun to_s: String do return inspect # Developper readable representation of `self'. # Usualy, it uses the form "" - meth inspect: String + fun inspect: String do var r = inspect_head # r.add('>') @@ -396,19 +394,19 @@ redef class Object # Return "