问题列表 - 第18040页

在这种情况下,多个条件运算符是个好主意吗?

我刚看到关于条件运算符的维基百科文章中的这段代码:

Vehicle new_vehicle = arg == 'B' ? bus      :
                      arg == 'A' ? airplane :
                      arg == 'T' ? train    :
                      arg == 'C' ? car      :
                      arg == 'H' ? horse    :
                      feet;
Run Code Online (Sandbox Code Playgroud)

我已经改变了一点代码,但想法是一样的.您会发现条件运算符的这种使用是否可以接受?它比if- elseconstruct 更简洁,并且使用一个开关肯定会为bug提供一整套新的机会(任何人都会堕落).此外,if- elses并且switch不能用作R值,因此您必须先创建变量,对其进行初始化,然后根据需要进行分配.

我真的很喜欢这个,但我想知道其他人的想法.

但格式化至关重要.

编辑:我还是喜欢这个.但我理解那些说" switch声明是为此做出的"的人.好吧,也许是这样.但是如果条件是返回的函数调用bool怎么办?或者其他一百万件你无法打开的东西.

你开关恋人真的试图说服我,一个巨大的if- else链比较好?是的,不知道如何使用条件运算符的程序员将无法理解这一点.他们应该学习如何使用它.这不是奥术.

c c++ conditional-operator

17
推荐指数
10
解决办法
3616
查看次数

method_missing在instance_eval中

完整代码:http://friendpaste.com/5TdtGPZaEK0DbDBa2DCUyB

class Options
    def method_missing(method, *args, &block)
        p method
    end
end

options = Options.new

options.instance_eval do
    foo
    foo = "It aint easy being cheesy!"
end

puts "#===---"
options.foo
options.foo = "It still aint easy being cheesy!"
Run Code Online (Sandbox Code Playgroud)

返回:

:foo
#===---
:foo
:foo=
Run Code Online (Sandbox Code Playgroud)

因为它foo = ""在instance_eval中被视为局部变量,所以它不会将其视为一种方法.

我如何让instance_eval将其视为一种方法?

ruby

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

GetVersionInfo和powershell的参数异常

我试图使用powershell来获取文件的文件版本.如果我右键单击该文件并查看该版本,则会显示一个值.以下是我尝试这样做的方法:

$path = "MSDE2000A";
$info = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($path);
Run Code Online (Sandbox Code Playgroud)

这是它抛出的异常信息:

Exception calling "GetVersionInfo" with "1" argument(s): "MSDE2000A.exe"
At line:1 char:58
+ $f = [system.diagnostics.fileversioninfo]::getversioninfo <<<< ("MSDE2000A.exe")
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException
Run Code Online (Sandbox Code Playgroud)

我检查的每个文件都有相同的结果.但是,如果我的路径是c:\ windows \notepad.exe(如示例中所示),它将按预期工作.这是怎么回事?

powershell getfileversion

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

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

如何在JDK中启动eclipse?

我刚刚第一次在eclipse中安装了一个Maven插件.现在在eclipse启动时有一条消息,我应该在JDK中启动eclipse而不是jre以使Maven组件运行良好.我在eclipse.ini中使用了一个-vm参数:

-vm C:\Program Files (x86)\Java\
Run Code Online (Sandbox Code Playgroud)

但重启后信息仍然存在.

我试过了:

C:\Program Files (x86)\Java\bin
Run Code Online (Sandbox Code Playgroud)

还有:

C:\Program Files (x86)\Java\bin\java.exe
Run Code Online (Sandbox Code Playgroud)

但没有改变.

如何在JDK中启动eclipse?

提前致谢.

java eclipse

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

如何在运行时使用GCC和内联asm检测CPU体系结构类型?

我需要找到CPU的架构类型.我没有访问/ proc/cpuinfo,因为机器正在运行syslinux.我知道有一种方法可以使用内联ASM,但我相信我的语法不正确,因为我的变量iedx没有正确设置.

我和ASM一起苦苦挣扎,绝不是专家.如果有人有任何提示或能指出我正确的方向,我会非常感激.

static int is64Bit(void) {
    int iedx = 0;
    asm("mov %eax, 0x80000001");
    asm("cpuid");
    asm("mov %0, %%eax" : : "a" (iedx));
    if ((iedx) && (1 << 29))
    {
        return 1;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c cpu gcc inline-assembly detection

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

如何在"somepage.php #name"中获取哈希值后的值?

对于给定的URL,我想从数据库中获取hash-after-hash的年龄.所以对于网址来说thepage.php#Madonna,你会看到" 119!".

如何在URL中的哈希值后提取值?(我需要一个安全的全浏览器兼容的NON-JAVASCRIPT方式).我想像$ _GET ['哈希'之后'那样做.

我没有使用GET的原因是因为我想使用AJAX和jquery的历史插件.

基本上我想要的是使用ajax根据哈希后分配的值从服务器检索数据.

php url

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

C:比较两个字节以查看一个是否在另一个的某个范围内

我正在编写代码,比较代表整数的2个字节.我想看看字节R是否与G的+ -10相同.我对代码的问题是在结尾附近的if-statment中进行比较.字节永远不会超出范围,即使它们应该.我确定问题来自于我如何添加/减去error_range,但我不知道有任何其他方法可以做到这一点.

我首先考虑将字节转换为整数但我在网上找不到任何帮助.如果这比我在这里做的更好,请告诉我该怎么做.

任何帮助表示赞赏!

const char ERROR_RANGE = 0x1010; //warning: overflow in implicit constant conversion
char R, G; /2 separate bytes
char buffer; //enough space for 1 byte

image = fopen(fileName,"r"); //open file

fread(&buffer, 1, 1, image); //read 1 byte  
memcpy (&R,&buffer,1); //store it as R

fread(&buffer, 1, 1, image); //read 1 byte   
memcpy (&G,&buffer,1); //store it as G

fclose(image);

if((R >= (G + ERROR_RANGE)) && (R <= (G - ERROR_RANGE)))
{
    printf("Outside of range!\n");
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c byte

0
推荐指数
2
解决办法
2293
查看次数

Android应用中的动态ListView

是否有一个工作示例演示如何动态地在ListView中追加其他行?例如:

  1. 您正在从不同的域中提取RSS源
  2. 然后在ListView中显示前10个项目(当你在后台运行其他线程时继续拉动feed)
  3. 滚动并到达列表底部,然后单击按钮以查看更多项目
  4. 然后ListView将附加额外的10个项目,现在共有20个项目.

任何建议如何实现这一目标?

尼古拉斯

java android listview dynamic

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

旋转相机时的OpenGL照明问题

我在游戏世界中绘制建筑物,并使用以下代码对其进行着色:

GLfloat light_ambient[] = {0.0f, 0.0f, 0.0f, 1.0f};
GLfloat light_position[] = {135.66f, 129.83f, 4.7f, 1.0f};

glShadeModel(GL_SMOOTH);

glEnable(GL_LIGHT0);
glEnable(GL_COLOR_MATERIAL);

glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);

glColorMaterial(GL_FRONT, GL_AMBIENT);
Run Code Online (Sandbox Code Playgroud)

效果很好。

但是,当我开始在世界上飞行时,灯光会对此做出反应,就好像世界是一个正在旋转的物体一样。因此,当我的相机角度改变时,灯光也会改变。

我如何还原该旋转?因此照明会认为我实际上并没有旋转世界,然后我可以使建筑物具有静态阴影,该阴影会根据太阳在天空上的位置而变化。

编辑:这是渲染代码:

int DrawGLScene()
{

    // stuff

    glLoadIdentity();

    glRotatef(XROT, 1.0f, 0.0f, 0.0f);
    glRotatef(YROT, 0.0f, 1.0f, 0.0f);
    glRotatef(ZROT, 0.0f, 0.0f, 1.0f);

    glTranslatef(-XPOS, -YPOS, -ZPOS);

    // draw world
}
Run Code Online (Sandbox Code Playgroud)

opengl lighting

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