相关疑难解决方法(0)

^ = 32背后的想法是什么,将小写字母转换为高位字母,反之亦然?

我在解决代码问题上遇到了一些问题.通常我首先检查字符是英文字母的上部还是下部,然后减去或添加32以将其转换为相应的字母.但我发现有人^= 32做了同样的事情.这里是:

char foo = 'a';
foo ^= 32;
char bar = 'A';
bar ^= 32;
cout << foo << ' ' << bar << '\n'; // foo is A, and bar is a
Run Code Online (Sandbox Code Playgroud)

我已经搜索了这方面的解释并没有找到答案.那么为什么会这样呢?

c++ ascii bit-manipulation

146
推荐指数
10
解决办法
2万
查看次数

Julia中不区分大小写的字符串比较

我确信这有一个简单的答案,但是如何在Julia中比较两个字符串并忽略大小写?我已经破解了一个相当不优雅的解决方案:

function case_insensitive_match{S<:AbstractString}(a::S,b::S)
    lowercase(a) == lowercase(b)
end
Run Code Online (Sandbox Code Playgroud)

肯定有更好的办法!

string julia

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

在Python中添加一个将字符串转换为小写的装饰器

所以我是学习装饰器的新手,我已经阅读了无数的教程,虽然我理解并且基本上可以遵循所有示例,但我认为最好的学习方法是自己实现装饰器。所以我将在下面使用这个例子。我意识到装饰器根本不需要执行此操作,但为了学习,我想添加一个装饰器来过滤狗名和品种等字符串并将其转换为小写。任何正确方向的想法或指示将不胜感激。

class Dogs:
    totalDogs = 0
    dogList=[]

    def __init__(self, breed, color, age):
        self.breed=breed
        self.color=color
        self.age=age
        Dogs.dogList.append(self.breed)
        Dogs.totalDogs += 1

    def displayDogs(self):
        print "breed: ", self.breed
        print "color: ",self.color
        print "age: ",self.age
        print "list of breeds:", Dogs.dogList
        print "total dogs: ", Dogs.totalDogs

def somedecorator(*args):
    #now what

terrier=Dogs("TeRrIer", "white", 5)
terrier.displayDogs()
retriever=Dogs("goldenRETRIEVER", "brown", 10)
retriever.displayDogs()
Run Code Online (Sandbox Code Playgroud)

python python-decorators

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