Антони обнови решението на 23.10.2018 01:24 (преди 10 месеца)
+package main
+
+func Repeater(s, sep string) func(int) string {
+ return func(cnt int) string {
+ finalString := ""
+ for i := 0; i < cnt; i++ {
+ finalString += s
+ if i < cnt-1 {
+ finalString += sep
+ }
+ }
+ return finalString
+ }
+}
+
+func Generator(gen func(int) int, initial int) func() int {
+ return func() int {
+ result := initial
+ initial = gen(initial)
+ return result
+ }
+}
+
+func MapReducer(mapper func(int) int, reducer func(int, int) int, initial int) func(...int) int {
+ return func(args ...int) int {
+ for _, arg := range args {
+ mappedElement := mapper(arg)
+ initial = reducer(initial, mappedElement)
Мислиш ли, че е добре да променяш променлива от colsure-а на функцията си?
опа, да, това не е добра практика. Благодаря!
+ }
+ return initial
+ }
+}