Изначально a
- это Array .Если бы вы могли написать метод a.fulljoin!
с желаемым результатом, a
стал бы String , но это не возможно в Ruby.
Но a.fulljoin!
может преобразовать a
в Массив с одним элементом a[0]
- Строка , которая вам нужна.И это будет как можно ближе к вашей цели:
class Array
def fulljoin!
r = "'#{self.join("', '")}'"
self.clear
self[0] = r
end
end
a = ["Alex", "Bert", "Charlie"]
a.fulljoin!
p a
=> ["'Alex', 'Bert', 'Charlie'"]
PS: Как предлагает @ engineermnky , метод fulljoin!
можно упростить до:
class Array
def fulljoin!
self.replace(["'#{self.join("', '")}'"])
end
end