core :: Buffer :: append_substring
length
chars from s
starting at index from
var b = new Buffer
b.append_substring("abcde", 1, 2)
assert b == "bc"
b.append_substring("vwxyz", 2, 3)
assert b == "bcxyz"
b.append_substring("ABCDE", 4, 300)
assert b == "bcxyzE"
b.append_substring("VWXYZ", 400, 1)
assert b == "bcxyzE"
# Appends `length` chars from `s` starting at index `from`
#
# ~~~
# var b = new Buffer
# b.append_substring("abcde", 1, 2)
# assert b == "bc"
# b.append_substring("vwxyz", 2, 3)
# assert b == "bcxyz"
# b.append_substring("ABCDE", 4, 300)
# assert b == "bcxyzE"
# b.append_substring("VWXYZ", 400, 1)
# assert b == "bcxyzE"
# ~~~
fun append_substring(s: Text, from, length: Int) do
if from < 0 then
length += from
from = 0
end
var ln = s.length
if (length + from) > ln then length = ln - from
if length <= 0 then return
append_substring_impl(s, from, length)
end
lib/core/text/abstract_text.nit:1690,2--1712,4