我刚读了这个答案使用Ruby将大写字符串转换为title-case.
有以下代码行
"abc".split(/(\W)/).map(&:capitalize).join
Run Code Online (Sandbox Code Playgroud)
到底是&:capitalize什么?在我把它变成irb之前,我会告诉你,这不是有效的ruby语法.它必须是某种Proc对象,因为Array#map正常需要一个块.但事实并非如此.如果我把它单独放入irb,我会得到syntax error, unexpected tAMPER.
我正在研究Ruby,并且遇到了注入.我正处于理解它的尖端,但当我是那种需要真实世界的例子来学习某些东西的人.我遇到的最常见的例子是人们使用注入来累加(1..10)范围的总和,我可能不在乎.这是一个随意的例子.
在实际程序中我会用它做什么?我正在学习,所以我可以继续使用Rails,但我不必拥有一个以网络为中心的例子.我只需要一些有目的的东西,我可以把头包裹起来.
谢谢大家.
我昨天在这里提出的问题的答案是以下一段Ruby代码:
def overlap?(r1,r2)
r1.include?(r2.begin) || r2.include?(r1.begin)
end
def any_overlap?(ranges)
ranges.sort_by(&:begin).each_cons(2).any? do |r1,r2|
overlap?(r1, r2)
end
end
Run Code Online (Sandbox Code Playgroud)
我明白了each_cons,但奇怪的&:begin记法是什么?救我脱离语法地狱!
谢谢!
我有一个short_code[]包含一系列短产品标识符的数组,例如["11111", "2222", "33333"]
我想创建一个包含相应"长代码"数据的数组副本:
long_code[i] = my_lookup_long_code(short_code[i])
Run Code Online (Sandbox Code Playgroud)
虽然简单的迭代很容易,但我想知道,作为一个相对红宝石的新手,什么是创建数组的"红宝石方式",这是一个简单的方法()应用于原始数组中的每个元素?