我知道已经有一个关于这个问题的Emacs问题,并且关闭了,但我发现它非常重要且非常重要.
基本上,我想评论/取消注释当前行.我期望用宏可以很容易,但我发现它确实不是.
如果当前行已注释,请取消注释.如果取消注释,请对其进行评论.而且我还要评论整条线,而不仅仅是光标位置.
我试过像这样的宏:
C-a
'comment-dwim
Run Code Online (Sandbox Code Playgroud)
但这只是评论一条线,而不是取消注释它,如果它已经评论过.
我不确定它有多容易,但如果有某种方式,我真的很喜欢它.
另外,我非常喜欢这个想法的原因是,当我使用Geany时,我只是使用C-e它并且它是完美的.
我正在用ECMAScript 6编写一些前端代码(用BabelJS编译,然后用Browserify进行浏览),这样我就可以在一个文件中创建一个类,将其导出并导入到另一个文件中.
我这样做的方式是:
export class Game {
constructor(settings) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
然后在导入我的类的文件上:
import {Game} from "../../lib/pentagine_browserified.js";
var myGame = new Game(settings);
Run Code Online (Sandbox Code Playgroud)
我然后编译它grunt,这是我的Gruntfile:
module.exports = function(grunt) {
"use strict";
grunt.loadNpmTasks('grunt-babel');
grunt.loadNpmTasks('grunt-browserify');
grunt.initConfig({
"babel": {
options: {
sourceMap: false
},
dist: {
files: {
"lib/pentagine_babel.js": "lib/pentagine.js",
"demos/helicopter_game/PlayState_babel.js": "demos/helicopter_game/PlayState.js"
}
}
},
"browserify": {
dist: {
files: {
"lib/pentagine_browserified.js": "lib/pentagine_babel.js",
"demos/helicopter_game/PlayState_browserified.js": "demos/helicopter_game/PlayState_babel.js"
}
}
}
});
grunt.registerTask("default", ["babel", "browserify"]);
};
Run Code Online (Sandbox Code Playgroud)
但是,在new Game(通话中,我收到以下错误:
Uncaught TypeError: undefined is …Run Code Online (Sandbox Code Playgroud) 我正在写一个图书馆.现在,我将所有内容都写在一个.js文件中,如下所示:
function doThis() {}
var thisVar = 5;
Run Code Online (Sandbox Code Playgroud)
我不确定这是不对的,所以我考虑过:
function Lib() {
this.doThis = function() {}
this.thisVar = 5;
}
var lib = new Lib();
Run Code Online (Sandbox Code Playgroud)
然后,在主程序文件上,我将不得不用"lib."调用所有内容,例如"lib.thisVar"或"lib.doThis();".
任何想法哪个更好,或者它们都可以接受?先感谢您.
有没有办法禁用消息缓冲区?我知道我可以杀了它,但它又重新出现了.我知道我可以滚动浏览缓冲区而不通过消息,但有没有办法可以禁用它的创建?
谢谢.
我在网上搜索了一个C++ Longest Common Substring实现,但未能找到一个像样的.我需要一个返回子串本身的LCS算法,因此它不仅仅是LCS.
不过,我想知道如何在多个字符串之间做到这一点.
我的想法是检查两个字符串之间的最长字符串,然后检查所有其他字符串,但这是一个非常缓慢的过程,需要在内存上管理许多长字符串,使我的程序非常慢.
知道如何为多个字符串加速这个吗?谢谢.
重要编辑 我给出的一个变量确定了最长公共子串需要的字符串数,因此我可以给出10个字符串,并找到它们的LCS(K = 10)或LCS为4他们,但我不知道哪个4,我必须找到最好的4.
我正在尝试编写一个组件,它接受另一个组件的实例数组作为道具。该组件 is MyComponent,它接受一组 的实例Title作为其参数之一。但是,我无法让 TypeScript 进行类型检查:
import * as React from "react";
type TitleProps = {
name: string;
};
function Title(props: TitleProps) {
return null;
}
type MyComponentProps = {
titles: Array<React.ReactElement<TitleProps>>;
}
function MyComponent({ titles }: MyComponentProps) {
return <div>{titles}</div>;
}
function OtherComponent(props: {}) { return null }
const shouldError = <MyComponent titles={[ <div/>, <OtherComponent/> ]} />;
const shouldNotError = <MyComponent titles={[ <Title name="hi"/>, <Title name="hi2"/>, ]} />;
Run Code Online (Sandbox Code Playgroud)
如您所见,我可以将任何我想要的东西传递给titlesprop,而不仅仅是<Title/>.
我在GUI上使用Emacs,我喜欢垂直和水平分割窗口.
为了调整水平窗口的大小,我只是抓住(用鼠标)缓冲区的名称并上下拖动它.
有了垂直窗户,我不能这样做.我无法抓住滚动条,没有"滑块".我知道我可以使用C-X {,C-X }但是,这些快捷方式非常不自然,我想用鼠标来做.
有没有办法可以做到这一点?

在我的凤凰应用程序中,我的用户模型如下:
defmodule MyApp.User do
use MyApp.Web, :model
schema "users" do
field :username, :string, unique: true
field :email, :string, unique: true
field :crypted_password, :string
field :password, :string, virtual: true
timestamps
end
@required_fields ~w(email password username)
@optional_fields ~w()
@doc """
Creates a changeset based on the `model` and `params`.
If no params are provided, an invalid changeset is returned
with no validation performed.
"""
def changeset(model, params \\ :empty) do
model
|> cast(params, @required_fields, @optional_fields)
|> unique_constraint(:email)
|> unique_constraint(:username)
|> validate_format(:email, ~r/@/) …Run Code Online (Sandbox Code Playgroud) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
any_connection = False
while True:
try:
conn, addr = s.accept()
data = conn.recv(1024)
any_connection = True
# keep looking
if not data: continue
pid = os.fork()
if pid == 0:
server_process(data, conn)
except KeyboardInterrupt:
break
if any_connection:
print("Closing connection")
conn.close()
Run Code Online (Sandbox Code Playgroud)
我KeyboardInterrupt在用Python编写的无限运行的TCP服务器上捕获信号.但是,即使我知道它正在关闭连接,因为它打印Closing Connection,当我尝试重新运行服务器时,我得到:
OSError: [Errno 48] Address already in use
我不知道发生了什么,因为我知道我正在打电话conn.close().
并且运行killall python3没有解决它,我不断得到错误,除非我等待很长时间或更改端口.我也试图grep所有python3进程,但我什么都没得到.
我正在运行OS X Yosemite.
emacs ×3
javascript ×2
algorithm ×1
babeljs ×1
browserify ×1
c++ ×1
ecmascript-6 ×1
elisp ×1
elixir ×1
gruntjs ×1
lcs ×1
lua ×1
python ×1
reactjs ×1
server ×1
sockets ×1
tcp ×1
typescript ×1