所以,让我说我有一个$somestring值为"main/physician/physician_view".
我想抓住"physician_view".如果传递的字符串是"main/physician_view"或"site/main/physician/physician_view",我希望它也能工作.
希望我的问题有道理.任何帮助,将不胜感激!
以下问题与" Ruby Print Inject Do Syntax " 问题有关.我的问题是,我们能坚持使用do和end,使其与工作puts或p?
这有效:
a = [1,2,3,4]
b = a.inject do |sum, x|
sum + x
end
puts b # prints out 10
Run Code Online (Sandbox Code Playgroud)
所以,它是正确的,inject是Array对象的实例方法,并且此实例方法接受一段代码,然后返回一个数字.如果是这样,那么它应该与调用函数或方法并获取返回值没有什么不同:
b = foo(3)
puts b
Run Code Online (Sandbox Code Playgroud)
要么
b = circle.getRadius()
puts b
Run Code Online (Sandbox Code Playgroud)
在以上两种情况下,我们可以直接说
puts foo(3)
puts circle.getRadius()
Run Code Online (Sandbox Code Playgroud)
因此,使用以下两种方式无法直接使其工作:
a = [1,2,3,4]
puts a.inject do |sum, x|
sum + x
end
Run Code Online (Sandbox Code Playgroud)
但它给了
ch01q2.rb:7:in `inject': no block given (LocalJumpError)
from ch01q2.rb:4:in `each'
from ch01q2.rb:4:in …Run Code Online (Sandbox Code Playgroud) 我使用FF的' FireBug '扩展来调试设计的网页,并为IE安装'IE Developer Toolbar'以达到这个目的,但它不如FireBug好.很难使用它.
是否有任何其他用户友好且易于使用的扩展?
我在C中实现了Barnes-Hut重力算法如下:
阶段2是最昂贵的阶段,因此通过划分星组来并行实施.例如,有1000颗星和2个线程,我有一个线程处理前500颗星,第二个线程处理第二个500颗.
在实践中,这是有效的:与非线程版本相比,它在双核机器上使用两个线程将计算速度提高了大约30%.此外,它产生与原始非线程版本相同的数值结果.
我担心的是两个线程同时访问相同的资源(即树).我没有向线程工作者添加任何同步,因此他们可能会尝试在某个时刻从同一位置读取.虽然访问树是严格只读的,但我并不是100%确定它是安全的.它在我测试它时起作用,但我知道这不能保证正确性!
问题
更新好奇的基准测试结果:
机器:Intel Atom CPU N270 @ 1.60GHz,cpu MHz 800,高速缓存大小512 KB
Threads real user sys
0 69.056 67.324 1.720
1 76.821 66.268 5.296
2 50.272 63.608 10.585
3 55.510 55.907 13.169
4 49.789 43.291 29.838
5 54.245 41.423 31.094
Run Code Online (Sandbox Code Playgroud)
0表示根本没有线程; 1及以上意味着产生许多工作线程和主线程等待它们.我不希望超过2个线程的任何改进,因为它完全受CPU限制,而且有多少个核心.有趣的是,奇数个线程比偶数更差.
看着sys它显然是制作线程的成本.目前它正在为每个帧创建线程(因此N*1000线程创建).这很容易编程(今天早上我在火车上的15分钟).我需要考虑一下如何重用线程......
更新#2我使用了一个线程池,与两个障碍同步.与每帧重新创建线程相比,这没有明显的性能优势.
我正在阅读的书中的一个练习的示例显示以下代码:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int input, reverse, numberOfDigits;
reverse = 0;
numberOfDigits = 0;
NSLog (@"Please input a multi-digit number:");
scanf ("%i", &input);
if ( input < 0 ) {
input = -input;
NSLog (@"Minus");
}
do {
reverse = reverse * 10 + input % 10;
numberOfDigits++;
} while (input /= 10);
do {
switch ( reverse % 10 ) {
case 0:
NSLog …Run Code Online (Sandbox Code Playgroud) 所以我在过去的八个小时里一直在使用Erlang,而且我花了两个人对着键盘敲击我试图弄清楚我的控制台一直在返回的异常错误.
我正在写一个骰子程序来学习二郎.我希望它能够通过erlang解释器从控制台调用.程序接受一些骰子,并且应该生成一个值列表.每个值应该在1到6之间.
我不会厌倦我为尝试解决问题(随机工程)而做出的几十个微观变化,但我会发布我的代码和错误.
来源:
-module(dice2).
-export([d6/1]).
d6(1) ->
random:uniform(6);
d6(Numdice) ->
Result = [],
d6(Numdice, [Result]).
d6(0, [Finalresult]) ->
{ok, [Finalresult]};
d6(Numdice, [Result]) ->
d6(Numdice - 1, [random:uniform(6) | Result]).
Run Code Online (Sandbox Code Playgroud)
当我从我的控制台运行程序时......
dice2:d6(1).
...我得到一个像预期的一到六个随机数.但是,当我使用任何高于1的数字作为参数运行相同的函数时,我得到以下异常...
**异常错误:没有匹配dice2的函数子句:d6(1,[4 | 3])
...我知道II没有匹配参数的函数,但我不知道如何编写带有变量参数的函数,以及可变数量的参数.
我尝试修改有问题的功能....
d6(Numdice, [Result]) ->
Newresult = [random:uniform(6) | Result],
d6(Numdice - 1, Newresult).
Run Code Online (Sandbox Code Playgroud)
......但我得到了同样的错误.有谁知道这里发生了什么?
问题:
更新:
来自Java SE 6 API:
public JComboBox()使用默认数据模型创建JComboBox.默认数据模型是一个空的对象列表.使用addItem添加项目.默认情况下,数据模型中的第一项将被选中.
所以我改为JComboBox(模型),因为API说:
public JComboBox(ComboBoxModel aModel) 创建一个JComboBox,从现有的ComboBoxModel获取其项目.由于提供了ComboBoxModel,使用此构造函数创建的组合框不会创建默认的组合框模型,并且可能会影响插入,移除和添加方法的行为方式.
我尝试了以下方法:
DefaultComboBoxModel model = new DefaultComboBoxModel();
model.setSelectedItem(null);
suggestionComboBox = new JComboBox(model);
suggestionComboBox.setModel(model);
Run Code Online (Sandbox Code Playgroud)
但无法使其工作,第一项仍在被选中.
任何能够提出工作实例的人都会非常感激.
帖子的老部分:
我正在使用JComboBox,并尝试setSelectionIndex(-1)在我的代码中使用(此代码放在caretInvoke())
suggestionComboBox.removeAllItems();
for (int i = 0; i < suggestions.length; i++) {
suggestionComboBox.addItem(suggestions[i]);
}
suggestionComboBox.setSelectedIndex(-1);
suggestionComboBox.setEnabled(true);
Run Code Online (Sandbox Code Playgroud)
这是添加到窗格时的初始设置:
suggestionComboBox = new JComboBox();
suggestionComboBox.setEditable(false);
suggestionComboBox.setPreferredSize(new Dimension(25, 25));
suggestionComboBox.addActionListener(new SuggestionComboBoxListener());
Run Code Online (Sandbox Code Playgroud)
当caretInvoke触发ComboBox初始化时,即使在用户选择元素之前,actionPerformed已经被触发(我在这里尝试了一个JOptionPane):http : //i126.photobucket.com/albums/p109/eXPeri3nc3/StackOverflow/combo1.png http://i126.photobucket.com/albums/p109/eXPeri3nc3/StackOverflow/combo2.png http://i126.photobucket.com/albums/p109/eXPeri3nc3/StackOverflow/combo3.png
问题是:当用户从ComboBox中选择一个元素时,我的程序会自动插入所选文本.因此,无需用户选择任何内容,它就会自动插入.
这是我的SSCCE :(最后)
package components;
import java.awt.BorderLayout;
import java.awt.Dimension;
import …Run Code Online (Sandbox Code Playgroud) 现在我打算在我的网站上添加一个过滤系统.
例子:
(ID=apple, COLOR=red, TASTE=sweet, ORIGIN=US)
(ID=mango, COLOR=yellow, TASTE=sweet, ORIGIN=MEXICO)
(ID=banana, COLOR=yellow, TASTE=bitter-sweet, ORIGIN=US)
Run Code Online (Sandbox Code Playgroud)
所以现在我有兴趣做以下事情:SELECT ID FROM thisTable WHERE COLOR ='yellow'AND TASTE ='SWEET'
但我的问题是我在我的网站中为多个类别执行此操作,并且列不一致.(如果桌子是用于手机,那么它将是品牌,3G-ENABLED,价格,颜色,波长等)
我怎么能设计一个允许这个的通用模式?
现在我正计划做:
table(ID, KEY, VALUE)
Run Code Online (Sandbox Code Playgroud)
这允许任意数量的列,但对于查询,我使用SELECT ID FROM表WHERE(KEY = X1 AND VALUE = V1)AND(KEY = X2 AND VALUE = V2),..返回空集.
有人可以推荐一个很好的解决方案吗?请注意,列数将定期更改
我是一名ASP.NET/C#开发人员.我一直使用VS2010.我想在我的笔记本电脑上启用BitLocker来保护内容,但我担心性能下降.使用像Visual Studio这样的IDE的开发人员正在同时处理大量的文件.我想,比通常的办公室工作人员更多.
所以我很好奇是否有其他开发人员使用BitLocker进行开发.表现如何?它引人注目吗?如果是这样,那不好吗?
我的笔记本电脑是2.53GHz Core 2 Duo,配备4GB RAM和Intel X25-M G2 SSD.它非常活泼,但我希望它保持这种状态.如果我听到一些关于BitLocker的坏故事,我会继续做我现在正在做的事情,这就是当我没有积极地工作时保留RAR的密码,然后在我完成时将其设置为SDelele(但它是这样的痛苦).
2015年更新:我旅行时一直在Surface Pro 3上使用Visual Studio 2015,默认启用了BitLocker.感觉就像我的台式机一样,i7-2600k @ 4.6 GHz.我认为在具有良好SSD的现代硬件上,你不会注意到!
海
我在php有一个西班牙语网站.在这个邮件正文中包含一个主题"Solicituddecotización",但主题出现在像Solicituddecotización这样的热门邮箱中.但它在邮件部分显得正确.我如何避免这个问题.有人知道吗?