程序设计

专业和发烧友程序员的问答


9
如何使用print()打印类的实例?
我正在学习Python中的绳索。当我尝试Foobar使用该print()函数打印类的对象时,得到如下输出: <__main__.Foobar instance at 0x7ff2a18c> 有没有办法设置类及其对象的打印行为(或字符串表示形式)?例如,当我调用类对象时,我想以某种格式打印其数据成员。如何在Python中实现?print() 如果您熟悉C ++类,则可以通过为类ostream添加friend ostream& operator << (ostream&, const Foobar&)方法来实现上述目的。
538 python  class  printing  object 

6
为什么在Swift字符串中像👩‍👩‍👩‍👦这样的表情符号字符被如此奇怪地对待?
字符👩‍👩‍👧‍👦(有两个女人,一个女孩和一个男孩的家庭)的编码如下: U+1F469 WOMAN, ‍U+200D ZWJ, U+1F469 WOMAN, U+200D ZWJ, U+1F467 GIRL, U+200D ZWJ, U+1F466 BOY 因此,它的编码非常有趣;单元测试的理想目标。但是,Swift似乎不知道如何处理它。这就是我的意思: "👩‍👩‍👧‍👦".contains("👩‍👩‍👧‍👦") // true "👩‍👩‍👧‍👦".contains("👩") // false "👩‍👩‍👧‍👦".contains("\u{200D}") // false "👩‍👩‍👧‍👦".contains("👧") // false "👩‍👩‍👧‍👦".contains("👦") // true 因此,斯威夫特说,它包含了自己(好)和一个男孩(好!)。但随后它说它不包含女人,女孩或零宽度细木工。这里发生了什么事?为什么Swift知道其中包含一个男孩,却没有一个女人或女孩?我能理解它是否被视为单个字符,并且仅识别出它包含自身,但事实是它只有一个子组件而没有其他组件令我感到困惑。 如果使用,则不会改变"👩".characters.first!。 更令人困惑的是: let manual = "\u{1F469}\u{200D}\u{1F469}\u{200D}\u{1F467}\u{200D}\u{1F466}" Array(manual.characters) // ["👩‍", "👩‍", "👧‍", "👦"] 即使我将ZWJ放置在其中,它们也没有反映在字符数组中。随之而来的是一点点的告诉: manual.contains("👩") // false manual.contains("👧") // …
538 swift  string  unicode  emoji 

17
当您在malloc之后不释放时,真正发生了什么?
多年来,这一直困扰着我。 我们都在学校里受教(至少在我以前是这样),您必须释放分配的每个指针。但是,对于不释放内存的实际成本,我有点好奇。在某些明显的情况下,例如在malloc循环或线程执行的一部分内调用when时,释放非常重要,这样就不会发生内存泄漏。但是,请考虑以下两个示例: 首先,如果我有这样的代码: int main() { char *a = malloc(1024); /* Do some arbitrary stuff with 'a' (no alloc functions) */ return 0; } 真正的结果是什么?我的想法是该过程终止,然后无论如何堆空间都消失了,因此错过该调用不会有任何危害free(但是,我的确意识到无论如何对于关闭,可维护性和良好实践而言,保持它的重要性)。我的想法对吗? 其次,假设我有一个程序有点像shell。用户可以声明类似的变量,aaa = 123并将这些变量存储在某种动态数据结构中以备后用。显然,显然您会使用一些可调用* alloc函数的解决方案(哈希映射,链接列表等)。对于这种程序,调用后永远释放是没有意义的,malloc因为这些变量必须在程序执行期间始终存在,并且没有很好的方法(我可以看到)用静态分配的空间来实现。分配一堆但仅在进程结束时释放的内存是不好的设计吗?如果是这样,还有什么选择?
538 c  malloc  free 

11
不存在vs不存在
这些查询中哪个更快? 不存在: SELECT ProductID, ProductName FROM Northwind..Products p WHERE NOT EXISTS ( SELECT 1 FROM Northwind..[Order Details] od WHERE p.ProductId = od.ProductId) 或不在: SELECT ProductID, ProductName FROM Northwind..Products p WHERE p.ProductID NOT IN ( SELECT ProductID FROM Northwind..[Order Details]) 查询执行计划说他们都做同样的事情。如果是这样,建议使用哪种形式? 这基于NorthWind数据库。 [编辑] 刚刚发现这篇有用的文章:http : //weblogs.sqlteam.com/mladenp/archive/2007/05/18/60210.aspx 我想我会坚持不存在。
538 sql  sql-server  notin 

22
LINQ的左外连接
如何在不使用join-on-equals-into子句的情况下在C#LINQ中对对象执行左外部联接?有什么办法可以使用where子句吗?正确的问题:因为内部联接很容易,我有这样的解决方案 List<JoinPair> innerFinal = (from l in lefts from r in rights where l.Key == r.Key select new JoinPair { LeftId = l.Id, RightId = r.Id}) 但是对于左外部联接,我需要一个解决方案。我的是这样的,但没有用 List< JoinPair> leftFinal = (from l in lefts from r in rights select new JoinPair { LeftId = l.Id, RightId = ((l.Key==r.Key) ? …
538 c#  linq  join 

8
如何将Java字符串转换为byte []?
有什么方法可以将Java转换String为byte[](而不是盒装Byte[])? 在尝试这个: System.out.println(response.split("\r\n\r\n")[1]); System.out.println("******"); System.out.println(response.split("\r\n\r\n")[1].getBytes().toString()); 我得到了单独的输出。由于是gzip字符串,因此无法显示第一个输出。 <A Gzip String> ****** [B@38ee9f13 第二个是地址。我做错了什么吗?我需要将结果byte[]送入gzip解压缩器,如下所示。 String decompressGZIP(byte[] gzip) throws IOException { java.util.zip.Inflater inf = new java.util.zip.Inflater(); java.io.ByteArrayInputStream bytein = new java.io.ByteArrayInputStream(gzip); java.util.zip.GZIPInputStream gzin = new java.util.zip.GZIPInputStream(bytein); java.io.ByteArrayOutputStream byteout = new java.io.ByteArrayOutputStream(); int res = 0; byte buf[] = new byte[1024]; while (res >= …
538 java  arrays  string 




15
如何避免在Excel VBA中使用选择
我已经听到很多有关.Select在Excel VBA 中使用可理解的厌恶的信息,但是不确定如何避免使用它。我发现如果我能够使用变量而不是Select函数,那么我的代码将更可重用。但是,ActiveCell如果不使用,我不确定如何引用事物(例如,等等)Select。 我发现这篇文章的范围,并在不使用选择的好处这个例子中,但无法找到任何东西怎么样?
537 excel  vba 


30
将嵌套的Python字典转换为对象?
我正在寻找一种优雅的方式来获取数据,该数据使用具有一些嵌套的字典和列表的字典的属性访问(即javascript样式的对象语法)。 例如: >>> d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]} 应该以这种方式访问​​: >>> x = dict2obj(d) >>> x.a 1 >>> x.b.c 2 >>> x.d[1].foo bar 我认为,没有递归是不可能的,但是获得字典对象样式的一种好方法是什么?

11
Git不断询问我ssh密钥密码
我按照github教程中的说明创建了键,并在github上注册了它们,然后显式尝试使用ssh-agent-但是git每次尝试进行拉式或推式操作时都会继续问我我的密码短语。 可能是什么原因?
537 git  github 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.