Tag: 打字

Vim用户,你在哪里rest你的右手?

长期vim的用户,你的手指上jkl; 或正常模式下的hjkl ? 标准的触摸打字教给我们右手的食指在j键上的食指,所以你的手指在jkl; 。 但是标准的vim运动键是hjkl 。 我经过10多年后回到vim (omg,当我不注意的时候,我已经老了),并且发现自己正在朝着hjkl倾斜……但是这使得input右上angular的字母,大括号等变得更困难。我想训练自己现在使用最有效的/实用的方法,而不是稍后重新训练。 长期以来,硬核vim用户,最好的做法是什么? 注意: 更大的重叠与触摸打字员如何浏览vi? 我认为这是通过了“主观”testing,因为它是故意培养一种无意识的最佳实践,而不是简单地关于人们的偏好

Dvorak打字是否适合编程?

我一直在寻找更高效的方法,而且我一直在阅读有关使用Dvorak键盘打字的内容。 看起来这样写正常的散文会更有成效,但编程呢? 我怀疑它是否有效,因为在编程中使用分号,冒号,括号和&号比在每天的打字中更常见。 有没有人有这方面的经验?

在学术CS世界中,“无types”是否也意味着“dynamictypes”?

我正在阅读一个说明“JavaScript是无types”的幻灯片。 这与我认为是真实的矛盾,所以我开始挖掘尝试和了解更多。 每个答案JavaScript是一种无types的语言? 说,JavaScript 不是无types的,并提供了各种forms的静态,dynamic,强,弱types的例子,我熟悉和满意..所以这是不是要走的路。 于是我问了JavaScript的创build者Brendan Eich,他说: 学术types使用“无types”来表示“没有静态types”。 他们很聪明,看到价值有types(杜!)。 情境很重要。 是否以学术为中心的计算机科学家使用“无types”作为“dynamictypes”的同义词(这是有效的?)还是有什么更深的东西,我失踪? 我同意布伦丹的看法,环境是重要的,但任何解释的引用都会很好,因为我现在的“去”书不是在这个话题上发挥作用。 我想指出这一点,所以我可以提高我的理解,因为甚至维基百科都没有提到这种替代用法(我可以find,无论如何)。 如果我错了,我不想在这个术语中使用这个术语,或者在质疑这个术语的使用.-) (我也看到一个顶级Smalltalker说Smalltalk也是“无types的”,所以它不是一个一次性的,这是什么让我在这个任务!:-))

我如何指定方法的返回types与python中的类本身相同?

我在python 3中有以下代码: class Position: def __init__(self, x: int, y: int): self.x = x self.y = y def __add__(self, other: Position) -> Position: return Position(self.x + other.x, self.y + other.y) 但是我的编辑(PyCharm)说参考位置不能被parsing(在_add__方法中)。 我应该如何指定我期望的返回types是Positiontypes? 编辑:我认为这实际上是一个PyCharm问题。 它实际上在其警告中使用了信息,并且代码完成 但是纠正我的错误,并且需要使用其他语法。

如何从http.request()正确捕获exception?

我的部分代码: import {Injectable} from 'angular2/core'; import {Http, Headers, Request, Response} from 'angular2/http'; import {Observable} from 'rxjs/Observable'; import 'rxjs/add/operator/map'; @Injectable() export class myClass { constructor(protected http: Http) {} public myMethod() { let request = new Request({ method: "GET", url: "http://my_url" }); return this.http.request(request) .map(res => res.json()) .catch(this.handleError); // Trouble line. // Without this line code works […]

工会和打字

我一直在寻找一段时间,但找不到明确的答案。 很多人说使用工会来打字是不明确的,也是不好的做法。 为什么是这样? 我不明白为什么它会做任何未定义的事情,考虑到你写的原始信息的内存不会只是自己改变(除非它超出了堆栈的范围,但这不是一个工会的问题,这将是不好的devise)。 人们引用严格的走样规则,但在我看来,就像说你做不到,因为你做不到。 如果不打字双方又有什么关系呢? 我看到某个地方他们应该被用来在不同的时间使用相同的内存位置来获取不同的信息,但是为什么不在删除信息之前再次使用呢? 总结: 为什么使用工会来打字? 如果不是这个,他们的意义何在? 额外的信息:我主要使用C ++,但想知道这一点和C.具体来说,我使用工会之间转换浮动和原始hex通过CAN总线发送。

C和C ++中工会的目的

早些时候我已经习惯使用工会了, 今天我看到这篇文章,并且知道这个代码,我感到震惊 union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is the active member from now on // somewhere down the line, without any edit to pixel if(pixel.components.a) // accessing the non-active member ARGB::components 实际上是未定义的行为,即从最近写的一个工会成员读取,导致未定义的行为。 如果这不是工会的预期用法,那是什么? 有人可以详细解释吗? 更新: […]

是通过C99中未指定的联合进行types化处理,并在C11中指定?

堆栈溢出问题的一些答案获取浮点的IEEE单精度位提示使用union结构进行types双关(例如:将float的位转换为uint32_t ): union { float f; uint32_t u; } un; un.f = your_float; uint32_t target = un.u; 但是,根据C99标准(至less草案n1124),联合体的uint32_t成员的值似乎未指定,其中第6.2.6.1.7节指出: 当一个值存储在uniontypes的对象的成员中时,不与该成员相对应但与其他成员相对应的对象表示的字节取未指定的值。 C11 n1570草案至less有一个脚注似乎暗示这不再是这种情况(见6.5.2.3脚注95): 如果用于读取联合对象内容的成员与上次用于在对象中存储值的成员不相同,则该值的对象表示forms的适当部分将被重新解释为新types中的对象表示forms,如如6.2.6所述(一个有时称为“types双关”的过程)。 这可能是一个陷阱代表。 不过,C99草案中的第6.2.6.1.7节的内容与C11草案中的内容相同。 这个行为在C99下实际上是不确定的吗? 它已经在C11中指定了吗? 我意识到,大多数编译器似乎支持这一点,但它是很好的知道,如果它在标准中指定,或者只是一个非常常见的扩展。