我正试图找到一种单行或更好的方式来获取scope
和scope_capitalized
。我该怎么办?
scope
和scope_capitalized
分配代码
['users', 'companies'].each do |scope|
scope_capitalized = scope.capitalized
# do stuff with scope and scope_capitalized
end
# if I had ['users', 'companies'] in a variable 'a' I could do
a.zip(a.map(&:capitalized)).each do |scope, scope_capitalized|
答案 0 :(得分:2)
根据您打算如何处理数据,您可能会执行以下操作:首先创建包含对的数组:
terms = ['users', 'companies']
terms_with_capitals = terms.map{ |scope| [scope, scope.capitalized] }
terms_with_capitals # => [['users', 'Users'],['companies','Companies']]
答案 1 :(得分:1)
['users','companies'].map(&:capitalize)
将返回一系列大写项目作为单行。但是,如果你正在努力做什么"做什么"使用大写的字符串,单行可能不是一个好主意,因为你可能最终得到一个非常长,难以理解的事物链。白色空间不需要任何费用,可读性总是有利的。坦率地说,我会做这样的事情:
%w(users companies).map(&:capitalize).each do |scope|
# do scope stuff
end
答案 2 :(得分:1)
您的问题包含您真正需要的所有信息。你说:
# if I had ['users', 'companies'] in a variable 'a' I could do
a.zip(a.map(&:capitalized)).each do |scope, scope_capitalized|
然后只需将您的数组放在a
['users', 'companies'].zip(['users', 'companies'].map(&:capitalized)).each do |scope, scope_capitalized|
答案 3 :(得分:1)
<div id="footer" data-tracking-area="footer" style="display:none;">
这绕过了实例化