小编Ale*_*nov的帖子

使用Viper和Vimpulse的Emacs中缺少哪些Vim功能?

Vim中缺少Emacs的重要功能,例如comint模式,并且没有可以替换它们的脚本/插件.

Vim相对于Emacs也有好处,例如模态编辑和通常更好的默认快捷方式.但是,Viper模式让我两个都有.Vimpulse还支持可视模式.不幸的是,没有任何模式可以让Emacs像Vim一样快速地工作.

所以我主要学习了Vim-in-Emacs.我错过了什么Vim功能?

vim emacs editor vimpulse viper

21
推荐指数
2
解决办法
7671
查看次数

Erlang io:将二进制格式化为十六进制

我可以格式化Erlang二进制文件,以便每个字节都用十六进制写吗?也就是说,

> io:format(???, [<<255, 16>>]).
<<FF, 10>>
Run Code Online (Sandbox Code Playgroud)

我没有看到在io中做一个明显的方法:格式化文档,但也许我只是错过了一个?将二进制文件转换为列表并单独格式化其元素效率太低.

binary erlang

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

记录Erlang/OTP的库

对于Erlang/OTP应用程序的日志记录活动,您只是使用包装器disk_log或其他库吗?

erlang logging error-logging

18
推荐指数
3
解决办法
6357
查看次数

简明地将Optional.absent()值传递给方法

使用Guava的Optional类型作为方法参数的一个问题是你不能简单地写

// method declaration
public void foo(Optional<String> arg);

// compiler error
foo(Optional.absent());
Run Code Online (Sandbox Code Playgroud)

由于类型推断失败,但必须明确添加类型:

// real method call
foo(Optional.<String> absent());
Run Code Online (Sandbox Code Playgroud)

我怎么能避免呢?

java generics guava

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


如何在 typescript-eslint/no-namespace 下声明 Cypress 自定义命令的类型?

Cypress 文档显示了如何声明自定义命令类型

declare global {
  namespace Cypress {
    interface Chainable {
      /**
       * Custom command to select DOM element by data-cy attribute.
       * @example cy.dataCy('greeting')
       */
      dataCy(value: string): Chainable<Element>
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但 Typescript ESLint 对此并不满意,因为“ES2015 模块语法优于自定义 TypeScript 模块和命名空间 @typescript-eslint/no-namespace”。是否可以将其重写为导入/导出,如果可以,如何重写?或者我应该禁用这种情况的规则?

typescript cypress typescript-eslint

17
推荐指数
1
解决办法
4549
查看次数

JavaScript中的对象同时定义和未定义(在FireFox扩展中)

我正在追逐FireFox扩展中的一个错误.我终于设法自己看了(我以前只有报告),我无法理解我所看到的是可能的.

错误控制台中我的扩展程序中的一条错误消息是"未定义gBrowser".这本身就足够令人惊讶了,因为叠加层是在browser.xul和navigator.xul之上,我希望gBrowser两者都可以使用.更糟糕的是它发生的实际位置:nextplease.js的第101 .也就是说,在函数内部isTopLevelDocument,只调用from onContentLoaded,只从onLoad这里调用:

gBrowser.addEventListener(this.loadType, function (event) {
    nextplease.loadListener.onContentLoaded(event);
},
true);
Run Code Online (Sandbox Code Playgroud)

所以gBrowser定义了onLoad,但在某种程度上未定义isTopLevelDocument.

当我试图实际使用扩展时,我得到另一个错误:"未定义nextplease".有趣的是它发生在853和857行.也就是说,函数内部

nextplease.getNextLink = function () {
    nextplease.getLink(window.content, nextplease.NextPhrasesMap, nextplease.NextImagesMap, nextplease.isNextRegExp, nextplease.NEXT_SEARCH_TYPE);
}

nextplease.getPrevLink = function () {
    nextplease.getLink(window.content, nextplease.PrevPhrasesMap, nextplease.PrevImagesMap, nextplease.isPrevRegExp, nextplease.PREV_SEARCH_TYPE);
}
Run Code Online (Sandbox Code Playgroud)

因此nextplease以某种方式定义足以调用这些函数,但未在其中定义.

最后,typeof(nextplease)在Execute JS中执行返回"object".同样的gBrowser.

怎么会发生这种情况?有任何想法吗?

javascript firefox-addon

16
推荐指数
1
解决办法
636
查看次数

是否可以在Scala中写下依赖函数类型?

特定

trait Foo {
  type Bar
}
Run Code Online (Sandbox Code Playgroud)

是否有合法的方法来编写类似的东西f: (x: Foo) => x.Bar,以便函数的返回类型取决于参数?使用的一个例子是

def compareOutput(x1: Foo, x2: Foo)(f: (x: Foo) => x.Bar /* illegal */)(comparer: (x1.Bar, x2.Bar) => Boolean) = {
  val y1 = f(x1)
  val y2 = f(x2)
  comparer(y1, y2)
}
Run Code Online (Sandbox Code Playgroud)

scala

16
推荐指数
1
解决办法
778
查看次数

Windows密钥可以映射到Vim吗?

使用Windows键作为Meta在Emacs中非常有用,有没有办法在Vim中执行此操作?

vim keyboard-shortcuts editor keymapping

15
推荐指数
5
解决办法
8913
查看次数

编译时大小有条件

如果条件涉及sizeof为真,我想定义一个宏,如果它是假,则不做任何事情(但仍然编译).如果支持预处理器sizeof,它将如下所示:

#if (sizeof(void*) <= sizeof(unsigned int)) // what goes here?
#  define POINTER_FITS_INTO_UINT
#endif
Run Code Online (Sandbox Code Playgroud)

有一些页面(例如http://scaryreasoner.wordpress.com/2009/02/28/checking-sizeof-at-compile-time/)解释如何使一个编译时断言sizeof(和无法编译,如果它失败了),但我没有看到一种方法将这种方法扩展到我想要的.

c compile-time c-preprocessor

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