小编Dio*_*nes的帖子

这是获得数字绝对值的最快方法

哪个是实现返回数字绝对值的操作的最快方法?

x=root(x²)
Run Code Online (Sandbox Code Playgroud)

要么

if !isPositive(x):
    x=x*(-1)
Run Code Online (Sandbox Code Playgroud)

实际上这个问题可以翻译为,有多快if(为什么请).

我的大学程序教授总是告诉我要避免使用ifs,因为它们非常慢,但我总是忘记问多慢和为什么.这里有人知道吗?

theory algorithm performance absolute-value

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

C++编程风格

我是一个老的(但不是太老)Java程序员,决定学习C++.但我已经看到了很多C++编程风格,是......好吧,该死的!

把类定义放在头文件中的所有东西,以及不同源文件中的方法 - 调用函数无处不在,而不是使用类中的方法.所有这一切似乎......错了!

最后,有没有理由让我继续对OOP进行大屠杀,以及编程中任何好的和正义的东西,或者我可以忽略那些老式的C++约定,并使用我良好的Java编程风格?

顺便说一句,我正在学习C++,因为我想做游戏编程.

这是一个例子:

在C++网站上,我找到了一个Windows实现:

class WinClass
{
    public:

        WinClass (WNDPROC wndProc, char const * className, HINSTANCE hInst);
        void Register ()
        {
            ::RegisterClass (&_class);
        }

    private:

        WNDCLASS _class;
};
Run Code Online (Sandbox Code Playgroud)

该类位于头文件和构造函数中:

WinClass::WinClass (WNDPROC wndProc, char const * className, HINSTANCE hInst)
{
    _class.style = 0;
    _class.lpfnWndProc = wndProc;  // Window Procedure: mandatory
    _class.cbClsExtra = 0;
    _class.cbWndExtra = 0;
    _class.hInstance = hInst;           // Owner of the class: mandatory
    _class.hIcon = 0;
    _class.hCursor = ::LoadCursor (0, IDC_ARROW); // Optional …
Run Code Online (Sandbox Code Playgroud)

c++ windows oop

12
推荐指数
7
解决办法
4863
查看次数

将restful ajax请求映射到spring

我有这段代码:

@RequestMapping(value = "/test.json", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public @ResponseBody Object[] generateFile(@RequestParam String tipo) {
    Object[] variaveis = Variavel.getListVariavelByTipo(tipo);
    return variaveis;
}
Run Code Online (Sandbox Code Playgroud)

据我所知,它应该接受test.json?tipo = H的请求并返回Variavel []的JSON表示,但是当我提出这样的请求时,我得到:

HTTP状态406 -

类型状态报告

信息

description此请求标识的资源只能根据请求"accept"标题生成具有不可接受特征的响应()

通过使用以下函数,我可以得到预期的json:

@RequestMapping(value = "/teste.json")
public void testeJson(Model model, @RequestParam String tipo) {
    model.addAttribute("data", Variavel.getListVariavelByTipo("H"));
}
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

java ajax rest spring spring-mvc

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

.net推荐的良好动态编程语言

好吧,经过很长一段时间用C#编写.net程序,我开始对静态类型语言带来的所有语法垃圾感到愤怒和沮丧.现在我想改用动态类型语言,它利用了CLI.所以我搜索了一下,我不喜欢我所看到的.我首先找了IronPython.但该项目感觉杂乱无章,它看起来并不好看.然后我听说了Boo.我喜欢boo,理想和所有,但它有点像项目停止.然后我听说IronRuby,但该项目仍处于测试阶段,所以我决定等到它变得更加成熟.

因为我找不到一个好的CLR兼容动态语言,我问你们你们(你们)会用什么?

由于人们开始询问不选择IronPython的原因是什么.好吧,原因是,正如我之前所说的那样,它似乎杂乱无章.为什么?

1-主页指向codeplex的另一个页面,主页应该是干净的,只是指出IronPython的优点,以IronRuby页面为例http://www.ironruby.net/它隐藏了语言开发的东西user(即使用户在使用之前必须访问IronRuby的svn).IPython在创建时试图添加什么样的问题.是否有包含此类信息的页面?那么页面就在那里,但它隐藏在"更多信息页面"中的一堆无意义的文章链接中.在Boo的页面上,它清晰可见,名为Manifesto http://boo.codehaus.org/BooManifesto.pdf.

我有更多的感觉,即IPython只是一个家庭酿造的翻译,尽管它实际上具有质量.我觉得下载Boo并使用IronPython更安全(但不用担心微软我也下载了IPython).

关于Duck-Typing和Boo的静态打字,它们似乎对我来说都很好.

.net c# ironpython boo

9
推荐指数
3
解决办法
1328
查看次数

Shell Script Tilde扩展

这是我的脚本:

#!/bin/bash 
echo "Digite o local em que deseja instalar o IGRAFU(pressione enter para 
instalar em 
${HOME}/IGRAFO):"
read caminho
if test -z $caminho
then
caminho="${HOME}/IGRAFO"
fi
echo "O IGRAFU será instalado no diretório: $caminho"
mkdir -pv $caminho

mv -v ./* $caminho
echo "Pronto!"
Run Code Online (Sandbox Code Playgroud)

在'read caminho',我可能会从用户那里收到像〜/ somefolder这样的路径.当脚本收到那种路径时,mv和mkdir都不会进行代码扩展,所以它会尝试创建一个〜/ somefolder而不是/ home/username/somefolder,因此会失败.

如何确保波浪号将转换为HOME变量?

linux shell

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

关于C#中的文件权限

在C#中创建文件同步程序时,我尝试copyLocalFileItem类中创建一个方法,其中使用的System.IO.File.Copy(destination.Path, Path, true)方法Path是a string.
用目标执行此代码后.Path = "C:\\Test2"this.Path = "C:\\Test\\F1.txt"我得到一个异常说我不具备所需的文件权限做此操作C:\测试,但C:\测试是通过自己拥有的(当前用户).
有谁知道发生了什么,或者如何解决这个问题?

这是完整的原始代码.

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

namespace Diones.Util.IO
{
    /// <summary>
    /// An object representation of a file or directory.
    /// </summary>
    public abstract class FileItem : IComparable

    {
        protected String path;
        public String Path
        {
            set { this.path = value; }
            get { return this.path; }
        } …
Run Code Online (Sandbox Code Playgroud)

c# copy file

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

改变python解释器窗口

我有两个python安装,2.5和2.6我想将默认的python解释器从2.5更改为2.6.谁知道怎么样?

python windows

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

将python与c集成以提高性能是否合理?

我喜欢几乎所有的东西都使用python,并且总是清楚地知道如果由于某种原因我在我的python代码中找到了瓶颈(由于python的限制),我总是可以使用集成到我的代码中的C脚本.

但是,当我开始阅读有关如何集成python 的指南时.在文章中,作者说:

人们可能希望在C或C++中扩展Python有几个原因,例如:

  • 在现有库中调用函数.
  • 向Python添加新的内置类型
  • 优化代码中的内部循环
  • 将C++类库暴露给Python
  • 将Python嵌入C/C++应用程序中

关于表现没什么.所以我再问一遍,将python与c集成以获得性能是否合理?

c python performance

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

使用super的问题(python 2.5.2)

我正在为我的程序编写一个插件系统,我无法解决一件事:

class ThingLoader(object):
'''
Loader class
'''

    def loadPlugins(self):
        '''
        Get all the plugins from plugins folder
        '''
        from diones.thingpad.plugin.IntrospectionHelper import loadClasses

        classList=loadClasses('./plugins', IPlugin)#Gets a list of 
        #plugin classes
        self.plugins={}#Dictionary that should be filled with 
        #touples of objects and theirs states, activated, deactivated.
        classList[0](self)#Runs nicelly
        foo = classList[1]
        print foo#prints <class 'TestPlugin.TestPlugin'>
        foo(self)#Raise an exception
Run Code Online (Sandbox Code Playgroud)

测试插件看起来像这样:

import diones.thingpad.plugin.IPlugin as plugin
   class TestPlugin(plugin.IPlugin):
       '''
     classdocs
    '''
    def __init__(self, loader):
        self.name='Test Plugin'
        super(TestPlugin, self).__init__(loader)
Run Code Online (Sandbox Code Playgroud)

现在IPlugin看起来像这样:

class IPlugin(object):
    '''
    classdocs
    '''
    name=''
    def …
Run Code Online (Sandbox Code Playgroud)

python introspection python-datamodel

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

如何覆盖泛型方法?(C#)

我正在创建一个名为TetraQueue继承System.Collections.Generic.Queue类重写Dequeue方法的类,这里是代码:

public class TetraQueue : Queue<Tetrablock>
{
   public override Tetrablock Dequeue()
   {
       return base.Dequeue();
   }
 }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试编译这个时,我得到:

错误TetraQueue.Dequeue()':找不到合适的方法来覆盖TetraQueue.cs

提前致谢.

我怎么知道方法是否是虚拟的(避免这种情况)?

.net c# collections

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

Ant在属性上的错误目录

我是Ant的新手,所以不要在官方的bug列表上发布这个(因为它可能不是一个bug),我决定在这里发帖:

当我运行我的Ant build.xml文件时,除了构建目录之外,一切都运行良好,而不是将属性$ {classes.dir}转换为build/ver_2.0.0/classes,它创建了一个文件$ {cv.build.dir} /班

这是蚂蚁代码的一部分:

<!--Properties-->
<property name="build.ver"   value="2.0.0"/> 
<property name="src.dir"     value="src"/>
<property name="lib.dir"     value="lib"/>
<property name="build.dir"   value="build"/>
<property name="classes.dir" value="${cv.build.dir}/classes"/>
<property name="jar.dir"     value="${cv.build.dir}/jar"/>
<property name="main-class"  value="br.uesc.computacao.estagio.controlador.ControladorModoExecucao"/>
<property name="cv.dir"      value="ver_${build.ver}"/>
<property name="cv.src.dir"  value="${src.dir}/${cv.dir}"/>
<property name="cv.build.dir" value="${build.dir}/${cv.dir}"/>
...
<target name="compile">
    <mkdir dir="${classes.dir}"/>
Run Code Online (Sandbox Code Playgroud)

java ant

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