鉴于数组:
arr = ['a','a','b','b','b','a','c']
Run Code Online (Sandbox Code Playgroud)
Ruby 中是否有一种快速方法可以删除重复的连续元素,但并非所有重复元素(如 arr.uniq)都会删除?预期输出将是:
['a','b','a','c']
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的。可以按如下方式遍历 Array,但是在 Ruby 中执行此操作的最简洁方法是什么?
def remove_repeats arr
new_arr = []
last_element = nil
arr.each do |x|
if last_element != x
new_arr << x
end
last_element = x
end
new_arr
end
arr = ['a','a','b','b','b','a','c','c']
puts remove_repeats(arr).join(',')
# => a,b,a,c
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Arch Linux上安装vim(7.4)环绕扩展(本周下载并安装)在Windows 7主机上的Oracle VM中.
当"Hello World"我尝试使用我的光标在引号内时,我收到各种错误,包括E388(无法找到定义):
:ds"
Run Code Online (Sandbox Code Playgroud)
和E257(cstag:标签未找到)打开时<div>Hello World</div>,我的光标在标签内我尝试类似:
:cst<p>
Run Code Online (Sandbox Code Playgroud)
我从git下载了最新版本的vim环绕声
我有:设置nocp
我把surround.vim放进去了 ~/.vim/plugin
我重新启动了vim
我已经重新生成了帮助标签,并且:help surround确实有效.
我作为运行vim的用户解压缩文件,没有权限错误.
在列表中运行:scriptnames节目~/.vim/plugin/surround.
因此,据我所知,它已安装,只是它无法正常工作.有任何想法吗?