y0 发帖数: 231 | 1 怎么表达两个enum class直接的逻辑关系,例如
enum class Subset { a, b, c};
enum class Superset {a, b, c, d, e};
就是说第2个enum class是第一个的超集,但是enum class 不支持继承
怎么办? |
|
h*z 发帖数: 34 | 2 具体情况看下面的code,project2要用到project1的API,但是project2中header2.h文件
的一个enum Type2的value与project1中header1.h文件的enum Type1的value相同出现
冲突. project1和project2都是很大的项目, 有legacy的原因, 所以直接改value不是
很方便. 不知道板上的大侠有没有碰到类似情况, 该如何处理.
//Project 1:
//header1.h
enum Type1
{
VALUE0=0,
VALUE1,
VALUE2,
VALUE3
};
///////////////////////////////////
//Project 2:
//header2.h
enum Type2
{
VALUE0=0,
VALUE1,
VALUE2
};
///////////
//Main.cpp in Project 2
#include "header1.h"
#in... 阅读全帖 |
|
b*******s 发帖数: 5216 | 3 有没有谁遇到过编译问题?似乎是不能推断
我的代码大致是这样:
一个函数返回的是一个enum class的值,就是简单的用BOOST_CHECK_EQUAL
然后编译出错,错误信息不在手边,迟一点发,不过看上去是不能推断某个参数类型
把enum class换成enum就通过了,编译器是gcc 4.8.2, boost原先是1.54,现在升到1
.55依然存在问题 |
|
l**********n 发帖数: 8443 | 4 enum Foo { BAR, BAZ };
enum Foo testFunc(void)
{
return BAR;
}
Or, with a typedef:
typedef enum Foo { BAR, BAZ } Foo;
Foo testFunc(void)
{
return BAR;
} |
|
d****i 发帖数: 4809 | 5 Sure you can return enum type. In C, you need to do this like:
enum status playgame()
{
}
or otherwise you would need to typedef first:
typedef enum {CONTINUE, WIN, LOSE} status; |
|
z****8 发帖数: 5023 | 6 有个朋友说他面试被问到
hashmap如何避免冲突。 我觉得这个是重写hashcode减少冲突吧。
然后面试官问如果key是enum如何避免冲突
研究了下 enum的hashcode在java里是final的 这怎么回答? |
|
s******y 发帖数: 613 | 7 【 以下文字转载自 biojailbreak 俱乐部 】
发信人: szbiophy (szbiophy), 信区: biojailbreak
标 题: 问个 enum{}的问题 谢谢
发信站: BBS 未名空间站 (Fri Sep 12 15:32:09 2014, 美东)
目标 写个.c 的文件(e.g. playgame.c)
这个.c 文件只有一个funtion, 没有main fn
这个是个掷色子的游戏,掷到6就赢,1就输,其他就 recursive 掷 直到输活赢
(掷色子还有另一个 function)
我的问题是 如果用 enum status { continue, won, lost }; 定义了 3个status
可以用 status 作为返回值吗? 如
status playgame()
{
} |
|
N******K 发帖数: 10202 | 8 我现在都用 enum struct
裸体enum跟全局变量没啥区别 |
|
d******i 发帖数: 7160 | 9 本来 for i in range(len(enum))
就是 i= 0 .. len(enum)-1 了。
后面又来个[::-1],是要反向walk吗?
狗了半天,没找到link
请指点。最好有链接。
谢了。 |
|
c**********e 发帖数: 2007 | 10 Which one of the following statements is true?
a) Enumerators for which no value is explicitly specified have a value of
zero.
b) An integer can implicitly be converted to an enumeration type.
c) When an enumerator is used, its value is implicitly converted to an
integer when needed.
d) Only one identifier in an enum list can have the value zero. |
|
b**m 发帖数: 1466 | 11 class Solution{
enum State{
SPACE,
WORD
}
}
compile的时候没错,运行时候出错。 |
|
|
c*****a 发帖数: 55 | 13 Hi, I have a big enum class(classA) which has more than 2000 constants. And
this been used in a big switch statement.
My problem is running the same code in netbeans is much faster than eclipse.
I try to understand why.
Any thoughts? Thanks a lot. |
|
c*****a 发帖数: 55 | 14 I am not sure. I used to use int for the switch, and than, I convert all
those int into enum, then the big slow down in eclipse start to happen.
I don't understand why eclipse and netbeans have this big difference. for a
very simple test, netbeans took like a second, and eclipse took more than 30
seconds. |
|
t****t 发帖数: 6806 | 15 just to remind you need to prefix the class name before enum class values...
such as Color::Red, instead of Red
到1 |
|
s******y 发帖数: 613 | 16 好用了 谢谢
再多多问下
status gamestatus; //
如果return gamestatus=WON 想把 won 打印出来 可以吗?
我试了 printf("%c\n", gamestatus); 什么都没打印
试了 printf(“% s\n",gamestatus); 结果是报错
所以 我觉得是不是 enum status {apple, orange } 只能当flag 用了 不能当字符串
用了 |
|
s******y 发帖数: 613 | 17 enum status{ WON, LOST}
结果:
if gamestatus==WON, print(%d\n",gamestatus); -> 0
gamestatus==LOST, ~~~~~~~~~~~~~~~~~~~ ; -> 1
谢谢 |
|
|
m***i 发帖数: 2480 | 19 是反向
相当于 xrange(len(enum) - 1, -1, -1) |
|
j******o 发帖数: 4219 | 20 你把range(len(enum))替换成A就好理解了
for i in A[::-1] |
|
r*****l 发帖数: 2859 | 21 好好讨论问题,没必要争吵。大家来这里是学知识,和讨论的,不是来吵架的。
技术领域里面很多东西其实没有对错,但一定要有合理的解释。
我来说说我对Enum的理解。
1, 从语法,语言层面上,enum和class,interface是不同的。Java自己引入了“enum
”这个关键字作为区别。
2, 从实现的层面上,enum只是一个特殊的class。因为Java需要尽量满足“everything
is an object"。所以如果反编译一个enum,就可以看到‘final class ... extends
Enum',等等。
所以说enum是class,或者不是,都有道理。关键是要说出原因。否则在新手看来就是
一筒糨糊了。
另外一点:作为一个技术人员,要有consistency(一致)。这点我认为很重要。就拿
enum实现singleton来说。
从技术上讲,这是个很好地实现。看到有人用,我可以理解。不过我一直对此有保留意
见,因为我认为,enum的作用是“being a well-known set of values.”(我这里引
用了你的给出的“流行答案”)。用enum实现sing... 阅读全帖 |
|
r*****l 发帖数: 2859 | 22 好好讨论问题,没必要争吵。大家来这里是学知识,和讨论的,不是来吵架的。
技术领域里面很多东西其实没有对错,但一定要有合理的解释。
我来说说我对Enum的理解。
1, 从语法,语言层面上,enum和class,interface是不同的。Java自己引入了“enum
”这个关键字作为区别。
2, 从实现的层面上,enum只是一个特殊的class。因为Java需要尽量满足“everything
is an object"。所以如果反编译一个enum,就可以看到‘final class ... extends
Enum',等等。
所以说enum是class,或者不是,都有道理。关键是要说出原因。否则在新手看来就是
一筒糨糊了。
另外一点:作为一个技术人员,要有consistency(一致)。这点我认为很重要。就拿
enum实现singleton来说。
从技术上讲,这是个很好地实现。看到有人用,我可以理解。不过我一直对此有保留意
见,因为我认为,enum的作用是“being a well-known set of values.”(我这里引
用了你的给出的“流行答案”)。用enum实现sing... 阅读全帖 |
|
z*******3 发帖数: 13709 | 23 看了一遍我笑了
第一,楼主你这个高级黑啊
我都分不清楚你到底是在认同我还是在反对我
当然你有其他的原因,也行,蛮好
世界是多样的,但是你我在结果上的一致就可以了
你重复了我至少三个观点,都只说了原因不同
但是对结果居然均表示赞同
这就够了,我很感谢你,其实完全可以求同存异的
我不想奚落你,但是你的错误还是要改正
哈哈
第二
呢,本着讨论的态度,我点解你一点点
你应该把我以前贴认真看看再说
不要以为只有你知道enum是个class,我早就说过enum是有限个的class
java只有一种结构,就是class,但是我隐约觉得这是白说,估计没几个看懂
这是流行答案
No, you can't do this in Java. Aside from anything else, d would then
presumably be an instance of A (given the normal idea of "extends"), but
users who only knew about A wouldn't know about it - which defeats the poi... 阅读全帖 |
|
z*******3 发帖数: 13709 | 24 看了一遍我笑了
第一,楼主你这个高级黑啊
我都分不清楚你到底是在认同我还是在反对我
当然你有其他的原因,也行,蛮好
世界是多样的,但是你我在结果上的一致就可以了
你重复了我至少三个观点,都只说了原因不同
但是对结果居然均表示赞同
这就够了,我很感谢你,其实完全可以求同存异的
我不想奚落你,但是你的错误还是要改正
哈哈
第二
呢,本着讨论的态度,我点解你一点点
你应该把我以前贴认真看看再说
不要以为只有你知道enum是个class,我早就说过enum是有限个的class
java只有一种结构,就是class,但是我隐约觉得这是白说,估计没几个看懂
这是流行答案
No, you can't do this in Java. Aside from anything else, d would then
presumably be an instance of A (given the normal idea of "extends"), but
users who only knew about A wouldn't know about it - which defeats the poi... 阅读全帖 |
|
z*******3 发帖数: 13709 | 25 看了一遍我笑了
第一,楼主你这个高级黑啊
我都分不清楚你到底是在认同我还是在反对我
当然你有其他的原因,也行,蛮好
世界是多样的,但是你我在结果上的一致就可以了
你重复了我至少三个观点,都只说了原因不同
但是对结果居然均表示赞同
这就够了,我很感谢你,其实完全可以求同存异的
我不想奚落你,但是你的错误还是要改正
哈哈
第二
呢,本着讨论的态度,我点解你一点点
你应该把我以前贴认真看看再说
不要以为只有你知道enum是个class,我早就说过enum是有限个的class
java只有一种结构,就是class,但是我隐约觉得这是白说,估计没几个看懂
这是流行答案
No, you can't do this in Java. Aside from anything else, d would then
presumably be an instance of A (given the normal idea of "extends"), but
users who only knew about A wouldn't know about it - which defeats the poi... 阅读全帖 |
|
z*******3 发帖数: 13709 | 26 看了一遍我笑了
第一,楼主你这个高级黑啊
我都分不清楚你到底是在认同我还是在反对我
当然你有其他的原因,也行,蛮好
世界是多样的,但是你我在结果上的一致就可以了
你重复了我至少三个观点,都只说了原因不同
但是对结果居然均表示赞同
这就够了,我很感谢你,其实完全可以求同存异的
我不想奚落你,但是你的错误还是要改正
哈哈
第二
呢,本着讨论的态度,我点解你一点点
你应该把我以前贴认真看看再说
不要以为只有你知道enum是个class,我早就说过enum是有限个的class
java只有一种结构,就是class,但是我隐约觉得这是白说,估计没几个看懂
这是流行答案
No, you can't do this in Java. Aside from anything else, d would then
presumably be an instance of A (given the normal idea of "extends"), but
users who only knew about A wouldn't know about it - which defeats the poi... 阅读全帖 |
|
z*******3 发帖数: 13709 | 27 哎诶
你这个蠢货啊
给你台阶下,不下
也不撒泡尿看看自己什么鸟语气
草,居然上来说我的语气不对
这不是找抽嘛
这是稍微严厉一点的回帖
20个包子我不发了,今天收拾一下这个家伙
你的例子
enum能够继承enum
你猪脑都该明白,这句话跟你自己的论述相冲突
你自己说的,enum是一个class,对啊,这个class继承自java.lang.Enum
既然继承了一个类,那enum还能继承enum?
别告诉我后一个是java.lang.Enum哦,因为你帖子明确区分了大小写
所以我相信你不是在说Enum,而是在说另外一个enum
还有啊,enum是一个final class,不允许被继承
懂吗?所以我说,要改很容易,去掉final关键字就可以了
但是这只是机制上,因此可能造成各种后果,所以官方坚决不改
官方文件也是我贴的,尼玛,跟你说的不对,就是“早就讨论过了”
早就讨论过了你还不知道?还“都是废话”?我看你说的才是废话吧?
你说我说的不对,好啊,但是至少到现在我有明确的论据说你说的是错的
但是我一点都没看出你有什么地方论证了我的说法是错的
最后,一个事实无论如何都不会改变
就是enum,就... 阅读全帖 |
|
z*******3 发帖数: 13709 | 28 哎诶
你这个蠢货啊
给你台阶下,不下
也不撒泡尿看看自己什么鸟语气
草,居然上来说我的语气不对
这不是找抽嘛
这是稍微严厉一点的回帖
20个包子我不发了,今天收拾一下这个家伙
你的例子
enum能够继承enum
你猪脑都该明白,这句话跟你自己的论述相冲突
你自己说的,enum是一个class,对啊,这个class继承自java.lang.Enum
既然继承了一个类,那enum还能继承enum?
别告诉我后一个是java.lang.Enum哦,因为你帖子明确区分了大小写
所以我相信你不是在说Enum,而是在说另外一个enum
还有啊,enum编译出来之后是一个final class,不允许被继承
懂吗?所以我说,要改很容易,去掉final关键字就可以了
但是这只是机制上,因此可能造成各种后果,所以官方坚决不改
官方文件也是我贴的,尼玛,跟你说的不对,就是“早就讨论过了”
早就讨论过了你还不知道?还“都是废话”?我看你说的才是废话吧?
你说我说的不对,好啊,但是至少到现在我有明确的论据说你说的是错的
但是我一点都没看出你有什么地方论证了我的说法是错的
最后,一个事实无论如何都不会改变
就是... 阅读全帖 |
|
c*****a 发帖数: 1638 | 29 zhaoce073发了很多帖子,当然这些都是他自己的心得和大家分享,出发点是好的,但
是很多东西都是错的。看上去zhaoce073就是那种爱自己琢磨的孩子,脑补一大堆未必
正确的思想(老实说,他讲得多数东西都是错的),他属于先看到结果再去找理由的。
实际上很多api的设计是因为实现原因的妥协。很多初入门的朋友估计就被引到歪路上
去了。
随便举2个例子:
http://www.mitbbs.com/article_t/Java/31129077.html
他说:
真正的结构上的美要从包结构上入手
而不是从类这个层次入手解决
整体结构就应该划分清楚
而不是等到类这个层次再来切割
那就很痛苦了
所以整个软件工程就是从大而小的切割
而不是在最低一层也就是类层面上的切割
通俗点说就是先component diagram
再class diagram,结构应该是先总体后部分
enum是第一个坚决淘汰abstract class机制的api
如果说以前的api是还隐晦地表达对abstract class的不满
比如servlet, struts等使用abstract class的框架逐步被市场所淘汰... 阅读全帖 |
|
c*****a 发帖数: 1638 | 30 你这个口气啊:)
那些结论都不过是行内早就讨论过的,都是废话,还车轱辘说半天干啥。关键就在于为
什么有结论,否则知其然不知其所以然有啥用呢
至于水平,老实说,我懒得和你这个水平讨论什么问题,夏虫不足语
冰,我只是提醒班上那些新进的朋友不要被引歪了。这个班上可能新入java的朋友比较
多,毁人伤RP,所以我才随便说2句。
下面给有兴趣这个话题的新学java的朋友:
java一切都是对象,那么标记一个对象的类型只有2种情况:要么继承一个类,要么实
现一个接口。
更进一步:在java原始设计enum的时候,enum要么是class或者abstract class,要么
是interface。zhaoce073说了半天就是enum不应该继承其他的(abstract)class。其
实根本不在于这个,如果这个理由是真的,可以想象一下,原始设计更应该是下面这样:
Enum是个interface,同时通过语法禁止enum继承任何其他class。这个可以取得同样的
效果,别忘了,(在很多interface支持者那里)理论上作为标记interface优于
abstract class(or normal... 阅读全帖 |
|
c*****a 发帖数: 1638 | 31 zhaoce073发了很多帖子,当然这些都是他自己的心得和大家分享,出发点是好的,但
是很多东西都是错的。看上去zhaoce073就是那种爱自己琢磨的孩子,脑补一大堆未必
正确的思想(老实说,他讲得多数东西都是错的),他属于先看到结果再去找理由的。
实际上很多api的设计是因为实现原因的妥协。很多初入门的朋友估计就被引到歪路上
去了。
随便举2个例子:
http://www.mitbbs.com/article_t/Java/31129077.html
他说:
真正的结构上的美要从包结构上入手
而不是从类这个层次入手解决
整体结构就应该划分清楚
而不是等到类这个层次再来切割
那就很痛苦了
所以整个软件工程就是从大而小的切割
而不是在最低一层也就是类层面上的切割
通俗点说就是先component diagram
再class diagram,结构应该是先总体后部分
enum是第一个坚决淘汰abstract class机制的api
如果说以前的api是还隐晦地表达对abstract class的不满
比如servlet, struts等使用abstract class的框架逐步被市场所淘汰... 阅读全帖 |
|
c*****a 发帖数: 1638 | 32 你这个口气啊:)
那些结论都不过是行内早就讨论过的,都是废话,还车轱辘说半天干啥。关键就在于为
什么有结论,否则知其然不知其所以然有啥用呢
至于水平,老实说,我懒得和你这个水平讨论什么问题,夏虫不足语
冰,我只是提醒班上那些新进的朋友不要被引歪了。这个班上可能新入java的朋友比较
多,毁人伤RP,所以我才随便说2句。
下面给有兴趣这个话题的新学java的朋友:
java一切都是对象,那么标记一个对象的类型只有2种情况:要么继承一个类,要么实
现一个接口。
更进一步:在java原始设计enum的时候,enum要么是class或者abstract class,要么
是interface。zhaoce073说了半天就是enum不应该继承其他的(abstract)class。其
实根本不在于这个,如果这个理由是真的,可以想象一下,原始设计更应该是下面这样:
Enum是个interface,同时通过语法禁止enum继承任何其他class。这个可以取得同样的
效果,别忘了,(在很多interface支持者那里)理论上作为标记interface优于
abstract class(or normal... 阅读全帖 |
|
r*c 发帖数: 167 | 33 using System;
using System.Collections.Generic;
namespace WinningGame
{
class Program
{
static void Main(string[] args)
{
int nCount = 0;
int nTotalGames = 1000;
for (int i = 0; i < nTotalGames; i++)
{
Board bd = new Board();
//bd.PrintBoard();
bool bResult = bd.IsWinner();
if (bResult)
{
nCount++;
bd.Print... 阅读全帖 |
|
c*****a 发帖数: 1638 | 34 我也是这么觉得。他太喜欢由果导因。其实java的设计多数情况下未必是真的最佳设计
,是由具体实现造成的(一个最典型的基本例子就是equals和hashcode之间的约定)。
enum也是个类似的例子,那个实现某个程度上是为了在OO上模拟enum做的妥协(enum本
质上来说并不是OO的基本概念之一)。目前java这个做法是难度最小的实现,如果不走
这个继承enum class的路线,把enum定义成interface形势的标记,就必须把戏法放到
编译器上(相当于某个程度的静态植入),那样的话还必须禁止enum实现某些基础类方
法(equals,hashcode,etc),就太难看了。
n
for |
|
z*******3 发帖数: 13709 | 35 呵呵,我先不说什么
来
[[[彩蛋醒目]]]
楼主原文中有一个很明显的错误
谁指出来,我给20个包子
看看你们水平到了没有
能不能通过做试验来验证
然后为了防止楼主偷偷改原文
我这里做个备份
“为啥enum不能实现abstract class?因为enum自己是个class,任何enum的定义的底层
实现被自动替换为继承这个类,因为java不支持多继承。所以enum是不能继承任何其他
类的。作为一个例证,enum可以继承enum
2,为啥现在abstract class在框架接口里远没有interface流行。这个当然有
interface更灵活的原因,但是zhaoce073基本都没有说到点子上。最重要的一点是:现
在框架用约定远比以前多了,约定更多意味着框架需要注入更多的逻辑。而目前框架最
流行的逻辑注入方式是拦截,java的proxy机制只支持interface。如果是abstract
class必须通过bytecode weaver来进行,后者会有安全顾虑,很多企业级的server是不
允许的。” |
|
c*****a 发帖数: 1638 | 36 我也是这么觉得。他太喜欢由果导因。其实java的设计多数情况下未必是真的最佳设计
,是由具体实现造成的(一个最典型的基本例子就是equals和hashcode之间的约定)。
enum也是个类似的例子,那个实现某个程度上是为了在OO上模拟enum做的妥协(enum本
质上来说并不是OO的基本概念之一)。目前java这个做法是难度最小的实现,如果不走
这个继承enum class的路线,把enum定义成interface形势的标记,就必须把戏法放到
编译器上(相当于某个程度的静态植入),那样的话还必须禁止enum实现某些基础类方
法(equals,hashcode,etc),就太难看了。
n
for |
|
z*******3 发帖数: 13709 | 37 呵呵,我先不说什么
来
[[[彩蛋醒目]]]
楼主原文中有一个很明显的错误
谁指出来,我给20个包子
看看你们水平到了没有
能不能通过做试验来验证
然后为了防止楼主偷偷改原文
我这里做个备份
“为啥enum不能实现abstract class?因为enum自己是个class,任何enum的定义的底层
实现被自动替换为继承这个类,因为java不支持多继承。所以enum是不能继承任何其他
类的。作为一个例证,enum可以继承enum
2,为啥现在abstract class在框架接口里远没有interface流行。这个当然有
interface更灵活的原因,但是zhaoce073基本都没有说到点子上。最重要的一点是:现
在框架用约定远比以前多了,约定更多意味着框架需要注入更多的逻辑。而目前框架最
流行的逻辑注入方式是拦截,java的proxy机制只支持interface。如果是abstract
class必须通过bytecode weaver来进行,后者会有安全顾虑,很多企业级的server是不
允许的。” |
|
d****j 发帖数: 42 | 38 pattern matching + recursive functions
// written in Elixir
defmodule AST do
def evaluate([operator | operands]) do
values = Enum.map(operands, fn op -> evaluate_operand(op) end)
case operator do
'+' -> Enum.sum(values)
'-' -> Enum.reduce(values, fn value, acc -> acc - value end)
'*' -> Enum.reduce(values, fn value, acc -> acc * value end)
'/' -> Enum.reduce(values, fn value, acc -> acc / value end)
end
end
defp evaluate_operand(op) when is_integer(op) d... 阅读全帖 |
|
H****r 发帖数: 2801 | 39 是不是这样:
public class Card {
public enum Rank { DEUCE, ... , ACE }
public enum Suit { ... }
private final Rank rank;
private final Suit suit;
...
}
这样每个Card 的object只占用两个enum的内存?如果写成下面这样能更少不?
public class CardDetail {
public enum Rank { DEUCE, ... , ACE }
public enum Suit { ... }
private final Rank rank;
private final Suit suit;
...
}
public class Card {
private static final CardDetail[] = { ... }; // standard 52 cards
private final CardDetail card_;
... 阅读全帖 |
|
t****t 发帖数: 6806 | 40 can you read? i don't know C# at all, not sure what solution did i say for C
#.
Let's say we have (enum) type
enum color { R, G, B };
given an object of type color, return "R" or "G" or "B" accordingly.
This problem is quite easy, you may use a std::map or whatever you feel
comfortable.
However, when people discuss about reflection, the problem is,
if we have an arbitrary (enum) type T
enum T { T1, T2, T3, ... };
given any object of *any* enum type T, return "T1" or "T2" or "T3" or ...
accordin |
|
c*******9 发帖数: 9032 | 41 http://homepages.cwi.nl/~tromp/go/Go.hs
{-# LANGUAGE ScopedTypeVariables #-}
module Go where
import Data.Ix
import Data.List
import Data.Array
import Control.Monad
import Control.Monad.State
data Player = Black | White deriving (Eq, Enum, Show)
data Color = Empty | Stone Player deriving (Eq, Show)
newtype Position p = Position (Array p Color) deriving (Eq)
color :: (Point p) => Position p -> p -> Color
color (Position pos) p = pos!p
class (Show p, Ix p) => Point p where
pointBounds :: (p,p)
... 阅读全帖 |
|
z****e 发帖数: 54598 | 42 http://stackoverflow.com/questions/70689/efficient-way-to-imple
class Foo {
private static volatile Bar bar = null;
public static Bar getBar() {
if (bar == null) {
synchronized(Foo.class) {
if (bar == null)
bar = new Bar();
}
}
return bar;
}
}
1.5之后加一个volatile关键字,也能解决问题
但是牺牲了效率,因为volatile关键字本身就降低了效率
所以double check的完美其实并不完美,本身也降低了效率
既然降低了效率,那还不如直接消费掉那点内存算了
最bitchy的是enum的解决方式
简单说是把class写成enum
public ... 阅读全帖 |
|
R**a 发帖数: 190 | 43 这次项目和一个印度仔分在一组,我负责component library部分,他负责GUI部分。
今天他跑来,说我的东东有bug,要我在enum里面加一个值。
我一看,几乎晕倒:
我的 class 返回一个 enum 类型,比如 video type:A、B、C、D 四种。
人家要我加一个“All”。我问为啥。
人家的解释:“我要用你的 enum 来 populuate dropdown list,marketing
的 requirement 写清楚了: A、B、C、D、All。”
我告诉他:“没有all这个类型,marketing的要求是一个filter,display A type,
or display B type, or display all the types。”
人家一头雾水:“你的enum 没有all,我做不了。”
我又解释:“人分两个性性别,男的、女的,有没有人的性别是 男女同体?
一件衣服可以男装样式,也可以是女装样式,也可以是 无性别差异的衣服,
比如,运动服。 you got it?”
人家似懂非懂的就走了,撂下一句:“i gotta confirm with... 阅读全帖 |
|
d**********o 发帖数: 1321 | 44 hw3b c-.y file
上面这一楼贴了载止hw3b deadline时我match的结果(也就是老师可以以这些不match
的ERROR为借口不给后来我补上的成绩),但是因为当时我还是没有写完,后来感恩节
期间就接着又写了一些,而且hw5是based on hw3 & hw3b的基础上(当我hw5是based
on更好的hw3的结果时,我应该可以得更多的分吧)。
hw4因为写得比较顺利,就不曾保留任何交上去作业的output,没有什么一目了然的结
果是我可以贴在这里的。原本我是想要把自己最的一次作业hw5贴出来的,但那已经是
一个完整的compiler,而且以后我还需要用自己的course project来找工作,所以一定
就不贴最终结果了。那就贴一个hw3b的c-.y文件吧,它集中的hw1、hw2、hw3、 hw3b的
结果,是我自己hw3b *.y文件的最完整版本。这些作业里面也有很多机关一一人为增加
的难度,比如那六七个IO相关的function,不仅traverse tree、build syntax tree的
时候会成为一个考点(把它们作为一个node连在syntax... 阅读全帖 |
|
d**********o 发帖数: 1321 | 45 hw3b c-.y file
上面这一楼贴了载止hw3b deadline时我match的结果(也就是老师可以以这些不match
的ERROR为借口不给后来我补上的成绩),但是因为当时我还是没有写完,后来感恩节
期间就接着又写了一些,而且hw5是based on hw3 & hw3b的基础上(当我hw5是based
on更好的hw3的结果时,我应该可以得更多的分吧)。
hw4因为写得比较顺利,就不曾保留任何交上去作业的output,没有什么一目了然的结
果是我可以贴在这里的。原本我是想要把自己最的一次作业hw5贴出来的,但那已经是
一个完整的compiler,而且以后我还需要用自己的course project来找工作,所以一定
就不贴最终结果了。那就贴一个hw3b的c-.y文件吧,它集中的hw1、hw2、hw3、 hw3b的
结果,是我自己hw3b *.y文件的最完整版本。这些作业里面也有很多机关一一人为增加
的难度,比如那六七个IO相关的function,不仅traverse tree、build syntax tree的
时候会成为一个考点(把它们作为一个node连在syntax... 阅读全帖 |
|
a****9 发帖数: 418 | 46 用python可以很简洁的做到
enum=lambda x: [[]] if x ==[] else [[x[0]]+a for a in enum(x[1:])] + enum(x[
1:])
enum([1,2,3])输出:
[[1, 2, 3], [1, 2], [1, 3], [1], [2, 3], [2], [3], []] |
|
h**********c 发帖数: 4120 | 47 这个题编的不太好,
我可以看到在如下的程序,
CoffeeSize的constructor 被call了四次,
加上values()返回的一个array,所以认为是五个objects,
但读了java api 关于enum,发现enum的水很深。
而且enum不能嵌入initialization blocks whether static or not.
不过考试的五十+道题基本都是这样莫名其妙,真的是头大。
enum CoffeeSize{
//! static {
//};
//! {
//
// };
SMALL(6), BIG(10), MEDIUM(8), EXTRA(12) {
public int getSize() {
return 12*2;
}
};
private int size =5;
CoffeeSize(int size) {
System.out.println(size+" CoffeeSize ");
... 阅读全帖 |
|
g**e 发帖数: 6127 | 48 这几天翻effective java, josh bloch推荐了一个enum singleton的写法,他提到
"it is more concise, provides the serialization machinery for free, and
provides an
ironclad guarantee against multiple instantiation, even in the face of
sophisticated
serialization or reflection attacks. While this approach has yet to be
widely
adopted, a single-element enum type is the best way to implement a
singleton."
但是这个不是lazy的
public final class SingletonEnum {
public enum enumSingleton {
INSTANCE;
... 阅读全帖 |
|
s*****e 发帖数: 33 | 49 Is there any difference between the following two implementations?
struct Foo
{
enum Enum
{
SIZE = 1024;
}
char m_buf[SIZE];
};
struct Foo
{
Foo()
{}
~Foo()
{}
enum Enum
{
SIZE = 1024;
}
char m_buf[SIZE];
};
You may get some surprise under gcc 3.4 or 4.1, see more detail:
http://streetprogrammer.blogspot.com/2011/12/default-constructo |
|