这是一个相当简单的问题。
我想知道是否有办法将一部分字符串从一行中的另一行翻转,或者没有“临时”变量。这就是我的意思:
s1 = "asdfghjkl;"
s2 = "qwertyuiop"
to_flip = s1[3..-1]
s1[3..-1] = s2[3..-1]
s2[3..-1] = to_flip
s1 # => "asdrtyuiop"
s2 # => "qwefghjkl;"
Ruby似乎总是对某些东西都有某种单行技巧,我希望你们中的一个人知道它是什么:)
谢谢!
答案 0 :(得分:1)
在Ruby中,String
切片可以分配给。
s1[3..-1], s2[3..-1] = s2[3..-1], s1[3..-1]
这里,逗号用于同时分配多个东西,Ruby也允许。这是因为声明
a, b = b, a
交换a
和b
的值(或者更具体地说,将其分配给另一个。)