1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
package reply
import "strings"
// equivalent of "".slice!
func stringSliceBang(s string, i int) string {
return strings.Join(sliceSliceBang(strings.Split(s, ""), i), "")
}
// equivalent of [].slice!
func sliceSliceBang(slice []string, i int) []string {
return append(slice[:i], slice[i+1:]...)
}
// equivalent of "abc"[0] = "x"
func stringReplaceChar(in string, r rune, i int) string {
out := []rune(in)
out[i] = r
return string(out)
}
// equivalent of Ruby ""[start..end]
// .. is inclusive
// ... is exclusive
func sliceString(text string, start int, end int) string {
var builder strings.Builder
for i := start; i <= end; i++ {
builder.WriteString(string(text[i]))
}
return builder.String()
}
// equivalent of Ruby [][start..end]
// .. is inclusive
// ... is exclusive
func sliceArray(lines []string, start int, end int) []string {
newLines := []string{}
for i := start; i <= end; i++ {
newLines = append(newLines, lines[i])
}
return newLines
}
|