小编Joh*_*ica的帖子

为什么分配给True/False不能像我期望的那样工作?

作为回答另一个问题的一部分,我写了下面的代码,其行为乍一看似乎很奇怪:

print True                    # outputs true
True = False;    print True   # outputs false
True = True;     print True   # outputs false
True = not True; print True   # outputs true
Run Code Online (Sandbox Code Playgroud)

谁能解释这种奇怪的行为?我认为这与Python的对象模型有关,但我不确定.

它是Cygwin下的2.5.2版本.

python python-2.x

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

__attribute__是否适用于声明中的所有变量?

__attribute__指令是否适用于在一行上声明的所有成员?


int a, b, c;
Run Code Online (Sandbox Code Playgroud)

声明三个int变量.


int *a, b, c;
Run Code Online (Sandbox Code Playgroud)

声明变量"a"作为指向int的指针,b和c声明为int.


int __attribute__((used)) a, b, c;
Run Code Online (Sandbox Code Playgroud)

used属性是应用于所有变量还是仅适用于a

c gcc

32
推荐指数
2
解决办法
1962
查看次数

不区分大小写的array_unique

我正在尝试编写几行代码来制作不区分大小写的数组唯一类型函数.这是我到目前为止所拥有的:

foreach ($topics as $value) {
    $lvalue = strtolower($value);
    $uvalue = strtolower($value);

    if (in_array($value, $topics) == FALSE || in_array($lvalue, $topics) == FALSE || in_array($uvalue, $topics) == FALSE) {
        array_push($utopics, $value);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是if语句.我认为我的语法有问题,但我对PHP比较新,我不确定它是什么.有帮助吗?

php arrays foreach loops

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

XPath 1.0查找元素的值是否在值列表中

有没有办法构造一个XPath来评估元素的值是否在预定义的值列表中?类似于此的东西:

/Location/Addr[State='TX or AL or MA']
Run Code Online (Sandbox Code Playgroud)

哪个匹配德克萨斯州,阿拉巴马州或马萨诸塞州的州元素?我知道我可以解压缩表达式:

/Location/Addr[State='TX] or  /Location/Addr[State='AL'], etc...
Run Code Online (Sandbox Code Playgroud)

但这有点麻烦,因为xpath很长,值列表也是如此.我的google-fu在这个问题上没有太多关注......

xpath expression list

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

包含比StartsWith更快?

一位顾问昨天来了,不知怎的,字符串的主题出现了.他提到他已经注意到,对于长度小于一定长度的字符串,Contains实际上比它更快StartsWith.我必须用自己的两只眼睛看到它,所以我写了一个小应用程序,当然,Contains更快!

这怎么可能?

DateTime start = DateTime.MinValue;
DateTime end = DateTime.MinValue;
string str = "Hello there";

start = DateTime.Now;
for (int i = 0; i < 10000000; i++)
{
    str.Contains("H");
}
end = DateTime.Now;
Console.WriteLine("{0}ms using Contains", end.Subtract(start).Milliseconds);

start = DateTime.Now;
for (int i = 0; i < 10000000; i++)
{
    str.StartsWith("H");
}
end = DateTime.Now;
Console.WriteLine("{0}ms using StartsWith", end.Subtract(start).Milliseconds);
Run Code Online (Sandbox Code Playgroud)

输出:

726ms using Contains 
865ms using StartsWith
Run Code Online (Sandbox Code Playgroud)

我也尝试过更长的琴弦!

.net c# string performance

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

RPM spec文件 - 是否可以动态填充spec文件变量

我有一个spec文件.我需要定义一个spec变量,它从系统上的一行文件中获取其值.

例如

%define path `cat /home/user/path_file`
Run Code Online (Sandbox Code Playgroud)

并且在path_file中是一行

/var/www/html/hosts
Run Code Online (Sandbox Code Playgroud)

这部分有效.我说从RPM BUILD输出开始有时值${path}实际上是我的命令cat /home/user/path_file,有时值是path_file(/ var/www/html/hosts)中的行应该是什么?

rpm rpmbuild rpm-spec

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

是否使用Python可变长度整数在标志中取消了一个位?

在我的程序中(用Python 3.4编写)我有一个包含各种标志的变量,例如:

FLAG_ONE = 0b1
FLAG_TWO = 0b10
FLAG_THREE = 0b100
status = FLAG_ONE | FLAG_TWO | FLAG_THREE
Run Code Online (Sandbox Code Playgroud)

可以轻松地设置另一个标志

status |= FLAG_FOUR
Run Code Online (Sandbox Code Playgroud)

但是,如果我明确要清除旗帜呢?我会做

status &= ~FLAG_THREE
Run Code Online (Sandbox Code Playgroud)

这种方法安全吗?由于未定义Python中整数的大小,因此大小如何statusFLAG_THREE不同?

(status需要有点字段,因为我需要这个值用于硬件协议.)

python bit-manipulation

30
推荐指数
2
解决办法
1473
查看次数

如何检查字符串是否在Bash shell中有空格

说一个字符串可能就像"ab''c''d".如何检查字符串中是否包含单/双引号和空格?

string bash shell

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

如何使用Joda-Time在Java中设置Time属性

我想在Joda-Time设置小时,分钟和秒.但是,当我设定它不改变财产.

这是我的代码:

import org.joda.time.DateTime;
public class JodaAkbar 
{
 public static void main(String args[])
 { 
    DateTime dt = new DateTime();
    System.out.println("Before:"+dt);
    dt.hourOfDay().setCopy(5);
    dt.minuteOfDay().setCopy(20);
    dt.secondOfDay().setCopy(0);
    System.out.println("After:"+dt);
 }
}
Run Code Online (Sandbox Code Playgroud)

这是输出.

Before:2015-04-01T11:01:38.277+11:00
After:2015-04-01T11:01:38.277+11:00
Run Code Online (Sandbox Code Playgroud)

我得到了相同的输出.这里发生了什么错?

编辑:

基本上,我想做类似的事情,如下面的代码所示.由于以下代码在24小时格式下无法正常工作,我切换到了Joda-Time.

 Calendar cal = Calendar.getInstance();
 cal.set(Calendar.HOUR, 13);
 cal.set(Calendar.MINUTE, 25);
 cal.set(Calendar.SECOND, 0);
Run Code Online (Sandbox Code Playgroud)

java datetime jodatime

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

为什么我在这段代码中遇到歧义错误?

假设我们有这 3 个类:

class A { }
class B extends A { }

public class App {
    static void f(int i, A a) { }
    static void f(float j, B b) { }
   
    static public void main() {
        int i = 0;
        B b = new B();
        App.f(i, b);
    }
}
Run Code Online (Sandbox Code Playgroud)

这会产生错误:

class A { }
class B extends A { }

public class App {
    static void f(int i, A a) { }
    static void f(float j, B b) …
Run Code Online (Sandbox Code Playgroud)

java

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