小编And*_*imm的帖子

在执行string.scan时如何在正则表达式中使用变量?

当我扫描文档时,我想在我的正则表达式中使用字符串变量:

urlstring = "example.com"
scanresult = @doc.scan(/variable text in urlstring(.*?)link-text/)
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

ruby regex

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

红宝石与文字串联

我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示:

foo('Chocolate', 3) # => 'ChoChoCho'
foo('Abc', 3) # => 'AbcAbcAbc'
Run Code Online (Sandbox Code Playgroud)

我知道我可以length用来计算字符数,但是如何指定要输出的字符串的长度?另外我该如何指定次数?

ruby string

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

ruby,如何用gsub删除末尾的空格?

这将删除所有空格:

irb(main):021:0> 'gff gf ggfgfg '.gsub(' ','')
=> "gffgfggfgfg"
Run Code Online (Sandbox Code Playgroud)

但我想要删除最后的空间,

就像是

irb(main):023:0>  'gff gf ggfgfg '.gsub([*' '$],'')
Run Code Online (Sandbox Code Playgroud)

但我得到:

SyntaxError: compile error
(irb):25: syntax error, unexpected $undefined, expecting ']'
'gff gf ggfgfg '.gsub([*' '$],'')
                            ^
    from (irb):25
    from :0
                           ^
    (irb):23: syntax error, unexpected ',', expecting $end
    'gff gf ggfgfg '.gsub(^' ','')
                               ^
        from (irb):23
        from :0
Run Code Online (Sandbox Code Playgroud)

我不能使用truncate,trim和其他rails帮助器.

ruby regex string

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

在ruby中收集数组的哈希值

h = {1=>[1,2,3], 2=>[4,5,6]}
new_arr = []
h.each_value {|arr|
  new_arr.concat(arr)
}

这有效,但是更像红宝石的方式呢?

所有值都是数组,但不应修改每个数组的元素.

ruby hash

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

基本帮助:阅读Ruby脚本案例语法

我之前从未做过ruby脚本的事情,并且希望有人能在这里快速回答.我正在进行一个时间敏感的项目,并希望SO能够提供一些见解.

我在这里搜索过,并找到了一些ruby脚本指南,并认为我理解以下大部分代码,但有一些我无法弄清楚的事情.

我从ruby脚本中得到以下例外,我只需要知道它在做什么:

其中docName和document_name是文件路径的字符串

case docName 
when /^QRX/ then document_name = "/TRPRR/#{docName}"
when /^BVN/ then document_name = "/TRPRR/#{docName}"
....
Run Code Online (Sandbox Code Playgroud)

还有很多其他案例,我理解案例陈述.我不明白以下几点:

/ ^ QRX /某种正则表达式还是什么?又是什么的#{} DOCNAME办?

ruby switch-statement

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

使用 axlsx 创建 3 种颜色条件格式

使用 axlsx,以下

color_scale = Axlsx::ColorScale.new do |c_s|
  c_s.colors[1].rgb = "FFFFFF00"
end
color_scale.add :type => :percentile, :val => 50, :color => "FF00FF00"
worksheet.add_conditional_formatting("B3:B100", { :type => :colorScale, :operator => :greaterThan, :formula => "100000", :priority => 1, :color_scale => color_scale })
Run Code Online (Sandbox Code Playgroud)

创建一个基本的 3 色条件格式,但颜色非常花哨,很难区分稍小和稍大的值。

是否有必要对 Excel 使用的颜色进行逆向工程以创建类似于 Excel 提供的默认 3 色条件格式的内容?

ruby axlsx

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

如何从Ruby中的多维数组中检索值?

English通过提供从这个数组中检索的最简单方法是en什么?

LANGUAGES = [
  ['English', 'en'],
  ['Deutsch', 'de']
]
Run Code Online (Sandbox Code Playgroud)

ruby arrays multidimensional-array

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

Rails中的布局文件夹是什么?

我知道.html.erb文件位于其中app/views或其子文件夹中。但是该app/views/layouts文件夹在Rails中特别适合什么?

layout ruby-on-rails

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

如何将选项从 git-diff 传递给 less?

我在 OSX 机器上有一个相当默认的 git 设置,但我想将-j.5添加到less,以便搜索匹配发生在屏幕中间。

我尝试这样做export LESS=-j.5,但这导致内容喜欢ESC[1mdiff --git a/app/images/bluecog-icon.png b/app/images/bluecog-icon.pngESC[m出现,即使事先echo $LESS给出了一个空的结果。我查了一下,git help diff但它没有提到“pager”,也没有提到“less”指的是 unix 工具(而不是“greater”的反义词)。

修改环境变量或传递参数git diff都是可以接受的。我知道我可以-j.5在 git diff 本身内输入。

git git-diff less-unix

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

调用Proc的ArgumentError

s = Proc.new {|x|x*2}
puts s.call(5)
-> 10

def foo(&a)
 a.call(5)
end

puts "test foo:"
foo(s)
Run Code Online (Sandbox Code Playgroud)

当我尝试调用上面的proc时,我得到:

foo: wrong number of arguments (1 for 0) (ArgumentError)
Run Code Online (Sandbox Code Playgroud)

我的期望是,如果使用此类签名定义方法,我可以将proc传递给方法:

def foo(&a)
Run Code Online (Sandbox Code Playgroud)

然后我可以像这样执行proc insiide foo:

 a.call(5)
Run Code Online (Sandbox Code Playgroud)

ruby proc-object

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