小编Jer*_*ten的帖子

如何编辑已在Subversion中提交的日志消息?

有没有办法在Subversion中编辑某个修订版的日志消息?我不小心在我的提交消息中写了错误的文件名,这可能会让人感到困惑.

我已经看过如何在Git中编辑不正确的提交消息?但是对于那个问题的解决方案似乎与Subversion不相似(根据svn help commit).

svn commit

543
推荐指数
8
解决办法
27万
查看次数

Ruby中有"do ... while"循环吗?

我正在使用此代码让用户输入名称,而程序将它们存储在一个数组中,直到它们输入一个空字符串(他们必须在每个名称后按Enter键):

people = []
info = 'a' # must fill variable with something, otherwise loop won't execute

while not info.empty?
    info = gets.chomp
    people += [Person.new(info)] if not info.empty?
end
Run Code Online (Sandbox Code Playgroud)

这个代码在do ... while循环中看起来更好看:

people = []

do
    info = gets.chomp
    people += [Person.new(info)] if not info.empty?
while not info.empty?
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我不必将信息分配给一些随机字符串.

不幸的是,Ruby中似乎不存在这种类型的循环.任何人都可以建议一个更好的方法吗?

ruby loops

448
推荐指数
7
解决办法
25万
查看次数

如何通过名称而不是PID来终止进程?

例如,有时当我尝试启动Firefox时,它表示Firefox进程已在运行.所以我必须这样做:

jeremy@jeremy-desktop:~$ ps aux | grep firefox
jeremy    7451 25.0 27.4 170536 65680 ?        Sl   22:39   1:18 /usr/lib/firefox-3.0.1/firefox
jeremy    7578  0.0  0.3   3004   768 pts/0    S+   22:44   0:00 grep firefox
jeremy@jeremy-desktop:~$ kill 7451
Run Code Online (Sandbox Code Playgroud)

我想要的是一个可以为我做这一切的命令.它将在进程列表中为它(或其他)获取输入字符串和grep,并将终止输出中的所有进程:

jeremy@jeremy-desktop:~$ killbyname firefox
Run Code Online (Sandbox Code Playgroud)

我尝试在PHP中执行它但exec('ps aux')似乎只显示在PHP脚本本身中使用exec()执行的进程(因此它显示的唯一进程本身.)

linux bash shell

321
推荐指数
12
解决办法
43万
查看次数

如何测试PHPUnit模拟对象中的第二个参数

这就是我所拥有的:

$observer = $this->getMock('SomeObserverClass', array('method'));
$observer->expects($this->once())
         ->method('method')
         ->with($this->equalTo($arg1));
Run Code Online (Sandbox Code Playgroud)

但该方法应该采用两个参数.我只测试第一个参数正确传递($ arg1).

如何测试第二个参数?

php phpunit

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

使用枚举作为数组索引

我有这个枚举:

enum ButtonState {
    BUTTON_NORMAL = 0,
    BUTTON_PRESSED = 1,
    BUTTON_CLICKED = 2
};

const u8 NUM_BUTTON_STATES = 3;
Run Code Online (Sandbox Code Playgroud)

在我的Button类中,我有成员变量ButtonState state;ButtonColors colors[NUM_BUTTON_STATES];.绘制按钮时,我colors[state]用来获取按钮所处状态的颜色.

我的问题:

  1. 这是一种好的编程风格吗?有没有更好的方法呢?(我通常只使用带有switch语句的枚举...使用枚举作为数组索引感觉不对.)
  2. 必须指定枚举的值吗?它似乎默认从0开始并递增1,但它是否保证在所有编译器中以这种方式工作?

c++ enums

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

定点数学的最佳方法是什么?

我需要为没有FPU的Nintendo DS加速程序,所以我需要将浮点数学(模拟和慢速)更改为定点.

我是如何开始的,我将浮点数更改为整数,每当我需要转换它们时,我使用x >> 8将定点变量x转换为实际数字,将x << 8转换为定点.很快我发现无法跟踪需要转换的内容,我也意识到很难改变数字的精确度(在这种情况下为8).

我的问题是,我应该如何让这更容易,更快?我应该制作一个FixedPoint类,或者只是一个FixedPoint8 typedef或带有一些函数/宏的结构来转换它们,还是别的什么?我应该在变量名称中添加一些内容来显示它的定点吗?

c++ fixed-point

45
推荐指数
8
解决办法
5万
查看次数

音频如何用数字表示?

我喜欢考虑一切如何,并用数字表示.例如,明文由类似ASCII的代码表示,图像由RGB值表示.这些是表示文本和图像的最简单方法.

用数字表示音频的最简单方法是什么?我想学习如何编写使用音频的程序,并认为这将是一个很好的开始方式.不过,我似乎无法在互联网上找到任何好的解释.

audio

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

PHP exec()在通过浏览器执行时不会执行shell命令

我有一个PHP脚本调用exec()来执行命令将PDF转换为JPG.这个命令在bash中工作正常.

要抢占您的初步故障排除猜测,请注意以下事项:

  • safe_mode =关闭
  • 包含PDF和脚本的目录的权限设置为777,此目录也是写入JPG的位置.
  • 我传递给exec()的命令显式指向正在使用的二进制文件(例如/ usr/local/bin/convert).
  • display_errors = On
  • error_reporting = E_ALL
  • disable_functions = [空白]
  • 我正在回显exec()的输出,它什么也没有返回.默认运行的命令不返回任何内容.

当我从浏览器调用此PHP脚本(访问http://www.example.com/script.php)时,exec()不会执行其参数.

重要提示:我知道我的脚本或构建bash命令的方式没有问题,因为从bash开始,我可以用'php'执行脚本并且它可以工作(例如'php script.php'转换文件)

我也尝试用system()切换exec().

最后,我曾经有过这个问题,但是不记得我是怎么修的.

我知道有一些我缺少的东西,所以我希望其他人像我一样体验过这一点,并记得如何解决它!

提前感谢您提供的任何帮助.

亚历克斯

php system exec

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

当我已经返回一个值时,从函数返回错误的最佳方法是什么?

我在C中编写了一个函数,它将字符串转换为整数并返回整数.当我调用该函数时,我也希望它告诉我字符串是不是有效数字.在过去,当发生此错误时,我返回-1,因为我不需要将字符串转换为负数.但现在我希望它将字符串转换为负数,那么报告错误的最佳方法是什么?

如果我不清楚这一点:我不希望此函数向用户报告错误,我希望它将错误报告给调用该函数的代码.("报告"可能是错误的用词...)

这是代码:

s32 intval(const char *string) {
    bool negative = false;
    u32 current_char = 0;

    if (string[0] == '-') {
        negative = true;
        current_char = 1;
    }

    s32 num = 0;
    while (string[current_char]) {
        if (string[current_char] < '0' || string[current_char] > '9') {
            // Return an error here.. but how?
        }

        num *= 10;
        num += string[current_char] - '0';
        current_char++;
    }

    if (negative) {
        num = -num;
    }

    return num;
}
Run Code Online (Sandbox Code Playgroud)

c return

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

将一组键和一组值转换为Ruby中的哈希

我有两个像这样的数组:

keys = ['a', 'b', 'c']
values = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

Ruby中有一种简单的方法可以将这些数组转换为以下哈希吗?

{ 'a' => 1, 'b' => 2, 'c' => 3 }
Run Code Online (Sandbox Code Playgroud)

这是我的方式,但我觉得应该有一个内置的方法来轻松做到这一点.

def arrays2hash(keys, values)
  hash = {}
  0.upto(keys.length - 1) do |i|
      hash[keys[i]] = values[i]
  end
  hash
end
Run Code Online (Sandbox Code Playgroud)

ruby arrays hash

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

标签 统计

c++ ×2

php ×2

ruby ×2

arrays ×1

audio ×1

bash ×1

c ×1

commit ×1

enums ×1

exec ×1

fixed-point ×1

hash ×1

linux ×1

loops ×1

phpunit ×1

return ×1

shell ×1

svn ×1

system ×1