Phrase reversals: Difference between revisions

Content added Content deleted
(Emacs Lisp: Fix formatting, use with-output-to-temp-buffer)
Line 786: Line 786:
=={{header|Dyalect}}==
=={{header|Dyalect}}==
<lang dyalect>let str = "rosetta code phrase reversal"
<lang dyalect>let str = "rosetta code phrase reversal"

//or you can use a built-in method String.reverse
//or you can use a built-in method String.reverse
func reverse(str) {
func reverse(str) {
let xs = []
let xs = []
for i in (str.len()-1)^-1..0 {
for i in (str.Length()-1)^-1..0 {
xs.add(str[i])
xs.Add(str[i])
}
}
String.concat(values: xs)
String.Concat(values: xs)
}
}

func reverseByWord(str) {
func reverseByWord(str) {
let words = str.split(" ")
let words = str.Split(" ")
let xs = []
let xs = []
for w in words {
for w in words {
xs.add(reverse(w))
xs.Add(reverse(w))
xs.add(" ")
xs.Add(" ")
}
}
String.concat(values: xs)
String.Concat(values: xs)
}
}

func reverseWords(str) {
func reverseWords(str) {
let words = str.split(" ")
let words = str.Split(" ")
let xs = []
let xs = []
for i in (words.len()-1)^-1..0 {
for i in (words.Length()-1)^-1..0 {
xs.add(words[i])
xs.Add(words[i])
xs.add(" ")
xs.Add(" ")
}
}
String.concat(values: xs)
String.Concat(values: xs)
}
}

print("1. \(reverse(str))")
print("1. \(reverse(str))")
print("2. \(reverseByWord(str))")
print("2. \(reverseByWord(str))")