相关疑难解决方法(0)

Ruby中的`&:capitalize'究竟是什么?

我刚读了这个答案使用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 syntax

5
推荐指数
2
解决办法
3012
查看次数

有人可以用Ruby来解释一个真实的,简单的语言用法吗?

我正在研究Ruby,并且遇到了注入.我正处于理解它的尖端,但当我是那种需要真实世界的例子来学习某些东西的人.我遇到的最常见的例子是人们使用注入来累加(1..10)范围的总和,我可能不在乎.这是一个随意的例子.

在实际程序中我会用它做什么?我正在学习,所以我可以继续使用Rails,但我不必拥有一个以网络为中心的例子.我只需要一些有目的的东西,我可以把头包裹起来.

谢谢大家.

ruby inject

5
推荐指数
2
解决办法
905
查看次数

Ruby Proc语法

我昨天在这里提出的问题的答案是以下一段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记法是什么?救我脱离语法地狱!

谢谢!

ruby syntax proc-object

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

ruby有一种优雅的方式来说array2 = some_lookup_method(array1)

我有一个short_code[]包含一系列短产品标识符的数组,例如["11111", "2222", "33333"]

我想创建一个包含相应"长代码"数据的数组副本:

long_code[i] = my_lookup_long_code(short_code[i])
Run Code Online (Sandbox Code Playgroud)

虽然简单的迭代很容易,但我想知道,作为一个相对红宝石的新手,什么是创建数组的"红宝石方式",这是一个简单的方法()应用于原始数组中的每个元素?

ruby arrays methods

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

标签 统计

ruby ×4

syntax ×2

arrays ×1

inject ×1

methods ×1

proc-object ×1