小编Axi*_*ger的帖子

如何从 Ruby Array 中删除重复的连续元素,但不是所有重复的元素?

鉴于数组:

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)

ruby arrays

1
推荐指数
1
解决办法
236
查看次数

vim环绕扩展安装问题

我正在尝试在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.

因此,据我所知,它已安装,只是它无法正常工作.有任何想法吗?

vim surround

0
推荐指数
1
解决办法
187
查看次数

标签 统计

arrays ×1

ruby ×1

surround ×1

vim ×1