我越来越习惯于从emacs内部做所有事情,但似乎eshell,shell和term只会运行一个实例.有没有办法在emacs中运行多个终端(最好是术语)?
假设我有一个给定的对象(一个字符串"a",一个数字 - 让我们说0,或者一个列表['x','y'])
我想创建包含此对象的许多副本的列表,但不使用for循环:
L = ["a", "a", ... , "a", "a"]
要么
L = [0, 0, ... , 0, 0]
要么
L = [['x','y'],['x','y'], ... ,['x','y'],['x','y']]
我对第三种情况特别感兴趣.谢谢!
在ArrayBlockingQueue,所有需要锁的方法final在调用之前将其复制到局部变量lock().
public boolean offer(E e) {
if (e == null) throw new NullPointerException();
final ReentrantLock lock = this.lock;
lock.lock();
try {
if (count == items.length)
return false;
else {
insert(e);
return true;
}
} finally {
lock.unlock();
}
}
Run Code Online (Sandbox Code Playgroud)
当字段是什么时,有没有理由复制this.lock到局部变量?lockthis.lockfinal
此外,它还在使用E[]之前使用本地副本:
private E extract() {
final E[] items = this.items;
E x = items[takeIndex];
items[takeIndex] = null;
takeIndex = inc(takeIndex);
--count;
notFull.signal();
return x;
}
Run Code Online (Sandbox Code Playgroud)
有没有理由将最终字段复制到本地最终变量?
<asp:Table>与旧的可靠表格HTML实现相比,ASP.Net控件之间有什么区别?
我知道这<asp:Table>将作为HTML表格返回到返回的页面,但是ASP.Net控件是否具有我缺少的任何好处?
我见过很多程序员选择这个文件名约定:
file.class.php.
这是命名类文件的标准吗?
只是好奇.所以我知道我将来是否应该遵循所有类文件.
谢谢
我希望我的提交按钮位于我的表单元素之外的某个位置?我有什么选择吗?除了jquery.
谢谢,rodchar
test1 <- as.matrix(c(1, 2, 3, 4, 5))
row.names(test1) <- c("a", "d", "c", "b", "e")
test2 <- as.matrix(c(6, 7, 8, 9, 10))
row.names(test2) <- c("e", "d", "c", "b", "a")
test1
[,1]
a 1
d 2
c 3
b 4
e 5
test2
[,1]
e 6
d 7
c 8
b 9
a 10
Run Code Online (Sandbox Code Playgroud)
如何重新排序test2以使行与test1的顺序相同?例如:
test2
[,1]
a 10
d 7
c 8
b 9
e 6
Run Code Online (Sandbox Code Playgroud)
我尝试使用重新排序函数:reorder(test1,test2)但我无法弄清楚正确的语法.我看到重新排序需要一个向量,我在这里使用矩阵.我的真实数据有一个字符向量,另一个是data.frame.我认为数据结构对于上面这个例子来说并不重要,我只需要帮助解决语法并使其适应我的实际问题.
简而言之:我想从当前的源代码生成两个不同的源树,仅基于一个预定义宏定义而另一个未定义,而没有对源进行其他更改.
如果你有兴趣,这是我的故事......
一开始,我的代码很干净.然后我们制作了一个新产品,是的,它更好.但代码只看到相同的外围设备,所以我们可以保持相同的代码.
好吧,差不多.
有一个小条件需要改变,所以我补充说:
#if defined(PRODUCT_A)
condition = checkCat();
#elif defined(PRODUCT_B)
condition = checkCat() && checkHat();
#endif
Run Code Online (Sandbox Code Playgroud)
...到一个且只有一个源文件.在一般的all-source-files-include-this头文件中,我有:
#if !(defined(PRODUCT_A)||defined(PRODUCT_B))
#error "Don't make me replace you with a small shell script. RTFM."
#endif
Run Code Online (Sandbox Code Playgroud)
...除非他们明确定义了产品类型,否则人们无法编译它.
一切都好.哦...除了修改,组件改变,并且由于新硬件工作得更好,我们可以重新编写控制系统.现在,当我查看代码的表面时,有超过60个单独的区域:
#ifdef PRODUCT_A
...
#else
...
#endif
Run Code Online (Sandbox Code Playgroud)
...或者相同,但是PRODUCT_B.甚至:
#if defined(PRODUCT_A)
...
#elif defined(PRODUCT_B)
...
#endif
Run Code Online (Sandbox Code Playgroud)
当然,有时候理智需要更长的假期,并且:
#ifdef PRODUCT_A
...
#endif
#ifdef PRODUCT_B
...
#endif
Run Code Online (Sandbox Code Playgroud)
这些条件包装了一到两百行(您认为最后一行可以通过切换头文件来完成,但函数名称必须相同).
疯了吧.我最好在源代码库中维护两个独立的基于产品的分支并移植任何常见的更改.我现在意识到这一点.
是否存在可以生成我需要的两个不同源树的东西,仅基于PRODUCT_A被定义和PRODUCT_B未定义(反之亦然),而不接触任何其他东西(即没有包含头,没有宏扩展等)?
UIBarButtonItems的水平定位没问题,我可以简单地用固定/灵活的空间物品填充空间.但是,我似乎无法垂直调整工具栏项.UIToolbar没有对齐属性,UIBarButtonItem无法设置其框架.
我需要这样做是因为我们使用了使用initWithImage创建的自定义图标和使用initWithBarButtonSystemItem创建的标准图标.自定义图标没有正确居中(它们向上偏移,相对于系统图标,它们正确居中),因此工具栏看起来很笨拙.