标签: enumerable

对Enumerable <T>中的所有元素执行特定操作

我有一个Enumerable<T>并且正在寻找一种方法,允许我为每个元素执行一个动作,有点像Select然后是副作用.就像是:

string[] Names = ...;
Names.each(s => Console.Writeline(s));
Run Code Online (Sandbox Code Playgroud)

要么

Names.each(s => GenHTMLOutput(s));   
// (where GenHTMLOutput cannot for some reason receive the enumerable itself as a parameter)
Run Code Online (Sandbox Code Playgroud)

我试过了Select(s=> { Console.WriteLine(s); return s; }),但它没有打印任何东西.

linq enumerable c#-3.0

47
推荐指数
5
解决办法
4万
查看次数

使属性不可枚举有什么好处?

可枚举性是属性的三个属性之一:可写性,可枚举性和可配置性.我的问题是:

  • 在JavaScript中使属性不可枚举有什么好处?我知道我们通过使它们不可枚举来隐藏财产,但财产隐藏的好处是什么?
  • 我们可以访问不可枚举的属性吗?如果是,那么使它们不可枚举的好处是什么?
  • 对象的所有预定义属性是否都设置为不可枚举?例如Array的属性poppush属性是不可枚举的?

javascript prototype enumerable

45
推荐指数
2
解决办法
6614
查看次数

按键分组并对值求和

我有一系列哈希:

[{"Vegetable"=>10}, {"Vegetable"=>5}, {"Dry Goods"=>3>}, {"Dry Goods"=>2}]
Run Code Online (Sandbox Code Playgroud)

我需要在inject这里使用,但我确实在苦苦挣扎.

我想要一个反映前一个哈希重复键总和的新哈希:

[{"Vegetable"=>15}, {"Dry Goods"=>5}]
Run Code Online (Sandbox Code Playgroud)

我控制输出此哈希的代码,以便我可以在必要时进行修改.结果主要是哈希,因为这可能会最终嵌套任意数量的级别,然后很容易在数组上调用flatten但不会平滑哈希的键/值:

def recipe_pl(parent_percentage=nil)
  ingredients.collect do |i|

    recipe_total = i.recipe.recipeable.total_cost 
    recipe_percentage = i.ingredient_cost / recipe_total

    if i.ingredientable.is_a?(Purchaseitem)
      if parent_percentage.nil?
        {i.ingredientable.plclass => recipe_percentage}
      else
        sub_percentage = recipe_percentage * parent_percentage
        {i.ingredientable.plclass => sub_percentage}
      end
    else
      i.ingredientable.recipe_pl(recipe_percentage)
    end
  end
end 
Run Code Online (Sandbox Code Playgroud)

ruby hash key enumerable

40
推荐指数
3
解决办法
3万
查看次数

将方法应用于array/enumerable中的每个元素

这是我的阵列:

array = [:one,:two,:three]
Run Code Online (Sandbox Code Playgroud)

我想将to_s方法应用于我的所有数组元素array = ['one','two','three'].

我该怎么做(将可枚举的每个元素转换为其他元素)?

ruby arrays enumerable

39
推荐指数
4
解决办法
4万
查看次数

Ruby中获取第一个可枚举元素的最快方法是什么?

Ruby中获取第一个可枚举元素的最快方法是什么?

例如:

arr = [12, 88, 107, 500]
arr.select {|num| num > 100 }.first  # => 107
Run Code Online (Sandbox Code Playgroud)

我想这样做而不会遍历整个阵列select,因为我只需要第一场比赛.

我知道我可以做一个each并且取决于成功,但我认为有一种本地方法可以做到这一点; 我只是没有在文档中找到它.

ruby arrays enumerable

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

通用枚举到Iterable转换器

HttpServletRequest使用了很多java.util.Enumeration.我想在for-each中使用它们,所以我需要将它们转换为可交换的.这不是问题,但由于我有多个项目需要这个,我需要一个库才能做到这一点.我宁愿不做自己的 - 有没有支持这种装饰的标准库?

是否有内置构造将枚举转换为Iterable?

java collections open-source enumerable

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

将DataTable转换为字典C#

我想知道如何将DataTable转换为Dictionary.我做了这样的事.

using System.Linq;

internal Dictionary<string,object> GetDict(DataTable dt)
{
    return dt.AsEnumerable()
      .ToDictionary<string, object>(row => row.Field<string>(0),
                                row => row.Field<object>(1));
}
Run Code Online (Sandbox Code Playgroud)

但我得到:

System.Data.EnumerableRowCollection不包含'ToDictionary'的定义和最佳扩展方法重载'System.Linq.Parallel.Enumerable.ToDictionary(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComrparer)'有一些无效的争论

我该如何解决这个问题?

谢谢

c# linq datatable dictionary enumerable

31
推荐指数
4
解决办法
7万
查看次数

产生或返回Enumerator的ruby方法

在Ruby的最新版本中,许多方法在没有块的情况下被调用时Enumerable返回Enumerator:

[1,2,3,4].map 
#=> #<Enumerator: [1, 2, 3, 4]:map> 
[1,2,3,4].map { |x| x*2 }
#=> [2, 4, 6, 8] 
Run Code Online (Sandbox Code Playgroud)

我想在我自己的方法中做同样的事情,如下:

class Array
  def double(&block)
    # ???
  end
end

arr = [1,2,3,4]

puts "with block: yielding directly"
arr.double { |x| p x } 

puts "without block: returning Enumerator"
enum = arr.double
enum.each { |x| p x }
Run Code Online (Sandbox Code Playgroud)

ruby enumerable

29
推荐指数
2
解决办法
5782
查看次数

如何使用ruby中的sort_by按字母顺序对数组进行排序?

我有一系列的会员资格.每个会员都是一个团体.我需要按照组的名称对这个成员数组进行排序.我尝试了很多不同的方法,最新的方法是:

@memberships.sort_by! { |m| m.group.name }
Run Code Online (Sandbox Code Playgroud)

但是,这并没有按名称排序.它似乎是随机排序数组.

  • 成员资格belongs_to:group
  • 集团has_many:会员资格

@memberships等于:

[
  {
  id: 2141,
  user_id: 491,
  group_id: 271,
  member_type: "member",
    group: {
      id: 271,
      name: "Derek's",
      privacy: "open",
      bio_image_url: "/bio_images/medium/missing.png?1340285189",
      member_count: 1,
      upcoming_checkins_count: 0
    }
  },
  {
  id: 2201,
  user_id: 221,
  group_id: 291,
  member_type: "member",
    group: {
      id: 291,
      name: "Rounded Developement",
      privacy: "closed",
      bio_image_url: "/groups/medium/291/bioimage.jpg?1340736175",
      member_count: 7,
      upcoming_checkins_count: 0
   }
}
]
Run Code Online (Sandbox Code Playgroud)

注意:这确实有效 - > @ memberships.sort_by!{| m | m.group.id}

它将基于group.id对数组进行排序,所以它可能与按字母顺序排序有关吗?

任何帮助将非常感激.

ruby arrays sorting ruby-on-rails enumerable

29
推荐指数
1
解决办法
5万
查看次数

Rails列表有.first和.second - 有.hundredth或.sixty_nineth吗?

是否有Rails的类或其他扩展允许超过系列中的前几个元素(以及最后一个)?这些工作:

[2,45,2,14,53,23,634,346,34,46,643,634,346,34,34].fifth
# -> 53
[2,45,2,14,53,23,634,346,34,46,643,634,346,34,34].last
# -> 34
Run Code Online (Sandbox Code Playgroud)

那么在哪里?

list.sixth
list.hundredth 
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails enumerable

28
推荐指数
3
解决办法
2万
查看次数