标签: enumeration

枚举C++中的枚举

在C++中,是否可以枚举枚举(运行时或编译时(首选))并为每次迭代调用函数/生成代码?

示例用例:

enum abc
{    
    start
    a,
    b,
    c,
    end
}    
for each (__enum__member__ in abc)
{    
    function_call(__enum__member__);    
}
Run Code Online (Sandbox Code Playgroud)

合理的重复:

c++ enums enumeration metaprogramming

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

如何在Scala中向Enumeration添加方法?

在Java中你可以:

public enum Enum {
    ONE {
        public String method() {
            return "1";
        }
    },
    TWO {
        public String method() {
            return "2";
        }
    },
    THREE {
        public String method() {
            return "3";
        }
    };

    public abstract String method();
}
Run Code Online (Sandbox Code Playgroud)

你是如何在Scala中做到这一点的?

编辑/有用的链接:

java enums enumeration scala

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

在Scala中对密封特性进行迭代?

我只是想知道是否有可能在Scala中迭代密封的特征?如果没有,为什么不可能?由于特性是密封的,应该可以吗?

我想做的是这样的:

sealed trait ResizedImageKey {

  /**
   * Get the dimensions to use on the resized image associated with this key
   */
  def getDimension(originalDimension: Dimension): Dimension

}

case class Dimension(width: Int,  height: Int)

case object Large extends ResizedImageKey {
  def getDimension(originalDimension: Dimension) = Dimension(1000,1000)
}

case object Medium extends ResizedImageKey{
  def getDimension(originalDimension: Dimension) = Dimension(500,500)
}

case object Small extends ResizedImageKey{
  def getDimension(originalDimension: Dimension) = Dimension(100,100)
}
Run Code Online (Sandbox Code Playgroud)

通过给枚举值赋予实现,我可以用Java完成.Scala中有同等的东西吗?

enumeration scala sealed scala-macros

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

Elixir - 循环并添加到地图

我正在使用C#构建的一些代码在Elixir中重建一些东西.

这是非常黑客攻击,但完美的工作(虽然不是在Linux上,因此重建).

基本上它做的是检查一些RSS提要并查看是否有任何新内容.这是代码:

Map historic (URL as key, post title as value).
List<string> blogfeeds
while true
for each blog in blogfeeds
   List<RssPost> posts = getposts(blog)
   for each post in posts
        if post.url is not in historic
           dothing(post)
           historic.add(post)
Run Code Online (Sandbox Code Playgroud)

我想知道如何在Elixir中有效地进行Enumeration.而且,似乎我在"历史性"中添加东西的过程就是反功能编程.

显然,第一步是声明我的URL列表,但除此之外,枚举的想法正在弄乱我的脑袋.有人可以帮帮我吗?谢谢.

enumeration elixir

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

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

将IEnumerator转换为通用IEnumerator的最佳方法是什么?

我正在为C#.NET 3.5中的自定义ConfigurationHandler编写自定义ConfigurationElementCollection,并且我希望将IEnumerator公开为通用IEnumerator.

实现这一目标的最佳方法是什么?

我目前正在使用该代码:

public new IEnumerator<GenericObject> GetEnumerator()
{
  var list = new List();
  var baseEnum = base.GetEnumerator();
  while(baseEnum.MoveNext())
  {
    var obj = baseEnum.Current as GenericObject;
    if (obj != null)
      list.Add(obj);
  }
  return list.GetEnumerator();
}

干杯

c# ienumerator enumeration

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

覆盖Scala枚举值

据我所知,Scala具有Value(Int),Value(String)和Value(Int,String)的Enumeration Value类的定义.

有没有人知道创建一个新的Value子类来支持不同的构造函数的例子?

例如,如果我想创建一个带有Value(Int,String,String)对象的Enumeration,我该怎么做?我想要使​​用Enumeration类的所有其他好处.

谢谢.

enumeration scala

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

接口内部的枚举实现 - Java

我有一个关于在界面中放置Java枚举的问题.为了更清楚,请参阅以下代码:

public interface Thing{
   public enum Number{
       one(1), two(2), three(3);
       private int value;
       private Number(int value) {
            this.value = value;
       }
       public int getValue(){
        return value;
       }
   }

   public Number getNumber();
   public void method2();
   ...
}
Run Code Online (Sandbox Code Playgroud)

我知道接口包含空体的方法.但是,我在这里使用的枚举需要一个构造函数和一个方法来获取相关的值.在此示例中,建议的接口不仅包含具有空体的方法.是否允许此实施?

我不确定是否应该将enum类放在接口或实现此接口的类中.

如果我将枚举放在实现此接口的类中,那么public Number getNumber()方法需要返回枚举类型,这将迫使我在接口中导入枚举.

java enums enumeration interface

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

IEnumerable <T>作为返回类型

使用IEnumerable<T>返回类型有问题吗?FxCop抱怨返回List<T>(它建议返回Collection<T>).

好吧,我一直受到一条规则的指导:"尽可能接受,但要回报最大值".

从这个角度来看,返回IEnumerable<T>是一件坏事,但是当我想使用"懒惰检索"时我该怎么办?此外,yield关键字是如此的好.

c# collections ienumerable enumeration

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

C++ - enum vs. const vs. #define

在这篇文章的最后:http://www.learncpp.com/cpp-tutorial/45-enumerated-types/,它提到了以下内容:

最后,与常量变量一样,枚举类型显示在调试器中,使得它们在这方面比#defined值更有用.

上面的大胆句子是如何实现的?

谢谢.

c++ macros enumeration constants

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