我在/ usr/lib中同时拥有了boost库的静态和动态版本.现在我希望CMake在链接我的可执行文件时更喜欢静态版本.我能做什么?
我喜欢HashSet <>()并在使用默认构造函数初始化时急切地使用它:
Set<Users> users = new HashSet<>();
Run Code Online (Sandbox Code Playgroud)
现在,我的自动bean创建器(JBoss工具)将其初始化为:
Set<Users> users = new HashSet<>(0);
Run Code Online (Sandbox Code Playgroud)
为什么零?API告诉我这是初始容量,但将其置于零的优势是什么?这是建议吗?
使用ipython时,我经常想保存我在会话期间定义的特定功能,例如:
In [1]: def func1():
...: pass
...:
In [2]: %save func1.py func1
func1 is neither a string nor a macro.
Run Code Online (Sandbox Code Playgroud)
相反,我必须从中选择函数定义行号enumerate(_ih)
,或者如果我有%edit
函数则从vim手动复制和粘贴.
有办法实现%save func1.py func1
吗?我觉得应该可以,因为ipython在使用%edit时可以访问该定义.
编辑
如果我在某些时候编辑了函数,基于行的保存不起作用%ed
.我正在寻找一种在这种情况下保存新函数定义的方法.
我想在变量中存储bash字符串比较的结果,效果等同于:
if [[ $a == $b ]]; then
res=1
else
res=0
fi
Run Code Online (Sandbox Code Playgroud)
我希望能够写出一些更简洁的东西,比如:
res2=$('$a'=='$b') #Not valid bash
Run Code Online (Sandbox Code Playgroud)
有没有办法实现我想要的,而不是推迟if构造?
是否有一种简单的方法可以在gradle任务中写入mercurial版本(或类似的外部命令):
我还不熟悉/熟悉,但我目前的努力看起来像这样:
task versionInfo(type:Exec){
commandLine 'hg id -i -b -t'
ext.versionfile = new File('bin/$baseName-buildinfo.properties')
doLast {
versionfile.text = 'build.revision=' + standardOutput.toString()
}
}
Run Code Online (Sandbox Code Playgroud) 我必须从包含特定字符串的文件(5MB)中获取大文件(27GB)中相同的字符串(和其他信息).为了加快分析速度,我将27GB文件拆分为1GB文件,然后应用以下脚本(在这里有些人的帮助下).但是效率不高(生成180KB文件需要30个小时!).
这是脚本.有比grep更合适的工具吗?或者更有效的方式使用grep?
#!/bin/bash
NR_CPUS=4
count=0
for z in `echo {a..z}` ;
do
for x in `echo {a..z}` ;
do
for y in `echo {a..z}` ;
do
for ids in $(cat input.sam|awk '{print $1}');
do
grep $ids sample_"$z""$x""$y"|awk '{print $1" "$10" "$11}' >> output.txt &
let count+=1
[[ $((count%NR_CPUS)) -eq 0 ]] && wait
done
done #&
Run Code Online (Sandbox Code Playgroud) 我已经从枚举中选择随机值,如下所示:
import std.random : uniform;
import std.stdio : writefln;
import std.conv;
enum E {A, B, C}
int main(){
auto select = cast(E)uniform(to!int(E.min), to!int(E.max));
writefln("select %s", select);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是令人惊讶的冗长,如果任何枚举成员获取超出默认值(或大于int
)的值,则容易出现问题.
理想情况下,我会采用一个代表枚举元素的范围,并将其提供给randomSample
.但是,这似乎不可能.
是否有更惯用的方法从D中的枚举中选择随机值?
编辑:
使用fwend提供的答案,这是一个实现我想要的模板功能:
T RandomEnumElement(T)() if (is(T == enum)){
auto members = [EnumMembers!T];
return members[(uniform(0, members.length))];
}
Run Code Online (Sandbox Code Playgroud) 我有很多看起来像这样的文本文件:
>ALGKAHOLAGGATACCATAGATGGCACGCCCT
>BLGKAHOLAGGATACCATAGATGGCACGCCCT
>HLGKAHOLAGGATACCATAGATGGCACGCCCT
>DLGKAHOLAGGATACCATAGATGGCACGCCCT
>ELGKAHOLAGGATACCATAGATGGCACGCCCT
>FLGKAHOLAGGATACCATAGATGGCACGCCCT
>JGGKAHOLAGGATACCATAGATGGCACGCCCT
>POGKAHOLAGGATACCATAGATGGCACGCCCT
Run Code Online (Sandbox Code Playgroud)
有没有办法在不使用awk替换的情况下进行采样?
例如,我有这8行,我只想在一个新文件中随机抽样4个,无需替换.输出应该如下所示:
>FLGKAHOLAGGATACCATAGATGGCACGCCCT
>POGKAHOLAGGATACCATAGATGGCACGCCCT
>ALGKAHOLAGGATACCATAGATGGCACGCCCT
>BLGKAHOLAGGATACCATAGATGGCACGCCCT
Run Code Online (Sandbox Code Playgroud)
提前致谢
我的目标是在linux中复制中鼠标复制粘贴功能.
我可以通过以下方式在窗格中显示此剪贴板的输出:
bind-key -T root MouseDown2Pane run-shell "xclip -selection primary -o"
Run Code Online (Sandbox Code Playgroud)
我想直接将此输出插入窗格(即类似send-keys
),但我没有看到将2个命令链接在一起的方法.
我正在运行tmux 2.1版.
当从python3.2项目运行cxfreeze二进制文件时,出现以下运行时错误:
/project/dist/project/distutils/__init__.py:13: UserWarning: The virtualenv distutils package at %s appears to be in the same location as the system distutils?
Traceback (most recent call last):
File "/home/chrish/.virtualenvs/project/lib/python3.2/distutils/__init__.py", line 19, in <module>
import dist
ImportError: No module named dist
Run Code Online (Sandbox Code Playgroud)
相应地distutils
,在cxfreeze输出的缺少模块部分中,有几个条目:
? dist imported from distutils
? distutils.ccompiler imported from numpy.distutils.ccompiler
? distutils.cmd imported from setuptools.dist
? distutils.command.build_ext imported from distutils
? distutils.core imported from numpy.distutils.core
...
Run Code Online (Sandbox Code Playgroud)
我尝试通过将distutils导入到我的主python文件中并将其添加到cxfreeze中,将distutils作为模块包括在内setup.py
:
options = {"build_exe": {"packages" : ["distutils"]} },
Run Code Online (Sandbox Code Playgroud)
两种方法均无效。好像我已经以某种方式破坏了virtualenv [因为distutils看起来很基本,并且关于distutils的位置的警告],重复使用干净的virtualenv可以重复此问题。
可能值得注意的是,我通过运行安装了cx-freeze, …
我有一个继承自boost :: statechart库的类.我需要在Python脚本中使用这个类,我想知道我是否需要为所有boost :: statechart库编写包装代码(.def s),因为我的类继承了它?或者boost.python不需要任何包装代码来查看定义(它自动处理其他boost库以在python中调用)?
我正在学习如何在c ++中实现mergesort并遇到以下问题.
这是我的合并函数,它将两个已排序的数组合并为一个已排序的数组.
void merge(int *list, int *final, int start, int mid, int stop) {
int h = start;
int i = start;
int j = mid + 1;
while ((h <= mid) && (j <= stop)) {
if (list[h] <= list[j]) {
final[i] = list[h];
h++;
} else {
final[i] = list[j];
j++;
}
i++;
}
/* CODE A */
if (h > mid) {
for (int k = j; k <= stop; k++) {
final[i] = list[k];
i++; …
Run Code Online (Sandbox Code Playgroud) 当我执行程序application.py 时,出现此错误:
psycopg2.ProgrammingError
ProgrammingError: ERREUR: erreur de syntaxe sur ou près de « "/d" »
LINE 1: "/d" carto."BADGES_SFR"
Run Code Online (Sandbox Code Playgroud)
(英文“ ProgrammingError: ERREUR: syntax error at or near « "/d" » "
)我对这个程序的目标是获得表结构
这是以下代码application.py:
#!/usr/bin/python 2.7.6
# -*- coding:utf-8 -*-
import os
import sys
from flask import Flask,render_template
import psycopg2
reload(sys)
sys.setdefaultencoding('utf8')
app = Flask(__name__)
@app.route('/')
def fihoum():
conn = psycopg2.connect(database="carto", user="postgres", password="daed5Aemo", host="192.168.12.54")
cur = conn.cursor()
#cur.execute("SELECT * FROM carto.\"BADGES_SFR\"")
cur.execute("/d carto.\"BADGES_SFR\"")
rows = cur.fetchall()
return …
Run Code Online (Sandbox Code Playgroud) bash ×3
c++ ×3
python ×3
awk ×2
boost ×2
shell ×2
algorithm ×1
boost-python ×1
cmake ×1
constructor ×1
copy-paste ×1
cx-freeze ×1
d ×1
distutils ×1
file ×1
flask ×1
gradle ×1
grep ×1
groovy ×1
hashset ×1
ipython ×1
java ×1
macros ×1
mercurial ×1
mergesort ×1
postgresql ×1
psycopg2 ×1
sorting ×1
tmux ×1
virtualenv ×1
zero ×1