相关疑难解决方法(0)

这是什么&:最后一个Ruby构造叫做?

可能重复:
map(&:name)在Ruby中意味着什么?

有什么东西survey.map(&:questions).flatten.compact叫做,所以我可以找到更多关于它们的信息:).这&:解决了什么问题,或者它究竟做了什么?它是否用于其他语言?

ruby collections

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

什么&:意味着在红宝石中,它是一个与符号混合的块?

可能重复:
map(&:name)在Ruby中意味着什么?
Ruby/Ruby on Rails&符号冒号快捷方式

例如,

contacts.sort_by(&:first_name).
Run Code Online (Sandbox Code Playgroud)

我理解这是做什么的,但我不明白&:符号,这意味着什么,它是一个符号(:)与块(&)?我在哪里可以阅读更多相关信息?

ruby

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

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
查看次数

这个&符号是什么意思?

可能重复:
map(&:name)在Ruby中意味着什么?
你在Ruby中称为&:运算符是什么?

只是看一些railscast并看到这样的代码:

[Category, Product, Person].each(&:delete_all)
Run Code Online (Sandbox Code Playgroud)

我知道它会删除这些模型的所有记录,但我无法找出这&:delete_all意味着什么.

ruby

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

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 ×5

syntax ×2

collections ×1

proc-object ×1