小编Mic*_*ber的帖子

Bash Shell Do While Loop Infinite循环?

基本上这是我的代码:

bay=$(prog -some flags)
while [ $bay = "Another instance of this program is running, please exit it first" ]
do
echo "Awaiting Access to program"
do
.....
Run Code Online (Sandbox Code Playgroud)

我有一个程序,它只允许一个实例一次运行,因为它与我的硬件交互的方式,当另一个实例运行时它踢出以下消息"该程序的另一个实例正在运行,请先退出它" .

我需要能够运行多个脚本,这将使用相同的程序,所以我决定使用上面的代码.我的问题是,当我运行我的两个脚本时,一个人将获得对程序的访问并按照需要运行,但另一个将注意到错误,然后卡在一个无限循环中,回显"等待访问程序".

错过了什么?Statement是执行CLI命令还是只是重新执行其原始执行?或者我的问题在哪里?

linux bash shell while-loop do-while

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

iOS Hello World通过套接字

我需要在iOS应用程序和Java套接字服务器之间实现简单的套接字通信(字符串)。我设法将两者连接起来,但是我无法发送任何消息。Java服务器是从该示例中获取的,这是我的代码的一部分,在该代码中我建立连接并(尝试)向服务器发送消息:

- (void)initNetworkCommunication {
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"192.168.0.10", 2004, &readStream, &writeStream);
self.inputStream = objc_unretainedObject(readStream);
self.outputStream = objc_unretainedObject(writeStream);
[self.inputStream setDelegate:self];
[self.outputStream setDelegate:self];
[self.inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.inputStream open];
[self.outputStream open];
}

- (void)sendMessage {
NSString *response  = [NSString stringWithFormat:@"aaa"];
NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]];
[self.outputStream write:[data bytes] maxLength:[data length]];
}

- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent {

NSLog(@"stream event %i", streamEvent);

switch (streamEvent) {

    case NSStreamEventOpenCompleted:
        NSLog(@"Stream opened");
        break;
    case NSStreamEventHasBytesAvailable:

        if (theStream …
Run Code Online (Sandbox Code Playgroud)

sockets ios

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

找到递增然后递减列表的最大值和最小值

我试过用谷歌搜索这个问题,但没有取得多大成功……我确定这个问题或类似问题有一个技术名称,但我似乎找不到答案。

给定一个L严格递增然后严格递减的整数列表,找出该列表的最大值和最小值。

因此,例如,L可能是{1 2 3 4 5 4 3 2}{2 4 5 7 3}

为了找到最小值,我说最小的整数必须是左端点或右端点,所以只需比较端点,然后返回最小的一个,给出恒定时间。

为了找到最大值,我基本上建议使用递归二分搜索来找到L[x]满足L[x] > L[x-1]和的点L[x] > L[x+1],给出摊销的 lg(n) 时间。他似乎并不喜欢这个答案,而且对我来说这似乎很天真,所以我想知道我是否遗漏了什么。

谢谢您的帮助!

编辑:

我在python中的解决方案:

def Max(L):
    n = len(L)-1
    if n == 0:
        return L[0]

    if L[n/2] > L[n/2 - 1] and L[n/2] > L[n/2 + 1]:
        return L[n/2]
    elif L[n/2] < L[n/2 + 1]:
        return Max(L[n/2:])
    else:
        return Max(L[:n/2])  
Run Code Online (Sandbox Code Playgroud)

algorithm

3
推荐指数
1
解决办法
2874
查看次数

如何强制安装xcode

我尝试通过AppStore安装XCode,但它失败并显示以下消息:

We could not complete your purchase
Xcode is already installed on this computer. Choose Software Update from the Apple menu to check for available updates.
Run Code Online (Sandbox Code Playgroud)

这可能是由之前的一次尝试通过从开发人员中心下载 - 但由于那次失败,我尝试使用现在也失败的AppStore ...

如何从失败的XCode安装中真正删除所有以重新启动AppStore?

顺便说一句.我已经这样做了:

sudo /Developer/Library/uninstall-devtools --mode=all
Run Code Online (Sandbox Code Playgroud)

非常感谢!

xcode app-store xcode4

3
推荐指数
1
解决办法
2275
查看次数

在Python中结合enumerate + itertools.izip

我想在Python中迭代+枚举两个列表.以下代码看起来很丑陋.有没有更好的解决方案?

for id, elements in enumerate(itertools.izip(as, bs)):
  a = elements[0]
  b = elements[1]
  # do something with id, a and b
Run Code Online (Sandbox Code Playgroud)

谢谢.

python enumerate python-itertools

3
推荐指数
2
解决办法
2493
查看次数

使用 numpy 拉伸、缩放或加倍数组?

我想知道是否有一个 numpy 函数可以沿特定轴“拉伸”数组,如下所示:

a =[[1,2,3,4],[1,2,3,4]]

a = [[1,1,2,2,3,3,4,4],[1,1,2,2,3,3,4,4]]

提前致谢!

python arrays numpy

3
推荐指数
1
解决办法
1563
查看次数

Mathematica-like(LaTeX)排版用于自己的CAS应用程序

当我使用Mathematica时,我想到了一个小而免费的CAS,它只暴露了一小部分必要的函数和包,我希望以适当的方式向用户呈现结果,如Mathematica (忽略后台的Facebook徽标:D):

Mathematica的输出

我的第一个想法是在后台和pdflatex源代码中创建LaTeX代码,然后在视图中包含PDF ...但是这似乎有点太过分了!我想用C++或C#编写这个CAS,我想知道是否有任何推荐的解决方案来输出这样的好公式.

我的第一个想法是"实时公式编辑视图",但是输入框可以输入命令和公式,上部视图只是不可编辑的输出.

math latex wolfram-mathematica formula computer-algebra-systems

3
推荐指数
1
解决办法
1244
查看次数

将awk打印重定向到文件

我可以通过以下命令获得solaris机器的cpu Mhz.

% /usr/sbin/psrinfo -v | grep operate |head -1 | awk '{print $6}'
Run Code Online (Sandbox Code Playgroud)

1200

当我运行以下命令时,awk输出没有被重定向.

%  csh -cf "/usr/sbin/psrinfo -v | grep operate |head -1 | awk '{print $6}' > myoutput"

% cat myoutput
Run Code Online (Sandbox Code Playgroud)

sparcv9处理器的工作频率为1200 MHz,

如何获得以下结果

% cat myoutput
Run Code Online (Sandbox Code Playgroud)

1200

shell awk solaris csh

3
推荐指数
1
解决办法
1065
查看次数

从元组列表中创建元组列表

我有4个清单

l1 = [('x',20),('y',10),('z',40)]
l2 = [('x',30),('r',90),('z',10),('s',20)]
l3 = [('y',20),('z',40),('x',39)]
l4 = [('s',10),('p',20),('z',20)]
Run Code Online (Sandbox Code Playgroud)

从上面的列表我想得到第五个列表

l_final  = [('x',39),('y',20),('z',40),('r',90),('s',20),('p',20)] 
Run Code Online (Sandbox Code Playgroud)

其中元组中的所有值都是最大值,即在l_final列表中,元组('x',39)39中的值是x相关元组的最大值.

此外,我能够解决最多2个列表.但是不能为5个列表做到这一点.还建议任何其他解决方法.

我在这里添加我的代码到2个列表代码

l1 = [('x',142),('y',523),('r',278),('p',5)]
l2 = [('r',156),('y',663),('s',145),('x',867)]

mylist = []
for i in l1:
    flag = False
    for j in l2:
             if i[0]== j[0]:
                flag = True
                max1 = max(i[1],j[1])
                mylist.append((i[0],max1))
    if flag == False:
        mylist.append((i[0],i[1]))
        flag = True


for i in l2:
    flag = False
    for j in mylist:
        if i[0] == j[0]:
            flag = True
    if flag == False: …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

3
推荐指数
1
解决办法
164
查看次数

awk相当于cut -f2-

也就是说,在Nth之后提取字段的建议工作是什么?我在awk中找不到任何快捷方式来执行此操作.

什么是最有效和最简单的方法?

shell awk

3
推荐指数
1
解决办法
769
查看次数