小编Lin*_*nas的帖子

Shell脚本:提升权力

你如何将m提高到n的幂?我到处搜索过这个.我发现写m**n应该有效,但事实并非如此.我正在使用#!/ bin/sh

shell exponential

21
推荐指数
3
解决办法
4万
查看次数

字符串初始化失败

这是我的计划.输出应该是'a'字符的序列,但由于某种原因,它不是.为什么?

#include <iostream>

using namespace std;

const int NAME_LENGTH = 16;

struct Record {
    char hotel_name[NAME_LENGTH];
};

int main() {
    int amount = 5;
    for (int i = 0; i < amount; i++) {
        Record * elementToBeAdded = new Record;
        for (int j = 0; j < NAME_LENGTH; j++)     
            elementToBeAdded->hotel_name[i] = 'a';
        elementToBeAdded->hotel_name[NAME_LENGTH-1] = '\0';
        cout << "string-" << elementToBeAdded->hotel_name << "-\n\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ initialization

2
推荐指数
1
解决办法
103
查看次数

Shell编程:带命令替换的嵌套表达式

我无法在其他表达式中处理表达式.例如,这是我的代码:

 #!/bin/sh
 number=0
 read number
 if [ `expr substr $number 1 2` = "0x" ]; 
 then
 echo "Yes that's hex: $number"
 number=`expr substr $number 3 `expr length $number`` 
 echo $number
 else
 echo "No that's not hex"
 fi
Run Code Online (Sandbox Code Playgroud)

我想要的只是echo来打印没有'0x'的数字.假设输入是0x15,输出应该只是15.但似乎找到字符串的长度失败了.

现在如果我创建另一个名为length的变量,如下所示:

 #!/bin/sh
 number=0
 read number
 if [ `expr substr $number 1 2` = "0x" ]; 
 then
 echo "Yes that's hex: $number"
 length=`expr length $number`
 number=`expr substr $number 3 $length` 
 echo $number
 else
 echo "No that's not hex"
 fi
Run Code Online (Sandbox Code Playgroud)

有用.

那么如何在不创建其他变量的情况下获得相同的结果?

shell expression nested command-substitution

2
推荐指数
1
解决办法
2012
查看次数

lambda表达式的事件

我需要有人帮我解决这个小问题.这是一段代码片段:

void shuffle() 
{
    for (int i = 0; i < 4; i++) {

        // here should be the computations of x and y

        buttons[i].Click += (s, e) => { show_coordinates(x, y); };

        // shuffling going on
    }
}

void show_coordinates(int x, int y)
{
    MessageBox.Show(x + " " + y);
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,每次运行循环时,我都会为每个按钮创建一个具有不同x和y的新事件处理程序.在我的表单中有另一个按钮,随机地按下按钮.

所以这就是问题所在:如果我按下随机按钮说10次,然后按任意洗牌按钮,事件处理程序就会叠加,我会得到10个显示x和y值的消息框.

那么每次按shuffle时,如何用新的事件处理程序覆盖前一个事件处理程序.

提前致谢.

c# lambda winforms

2
推荐指数
1
解决办法
145
查看次数

Java并发:奇怪的输出

我正在使用Java线程,我编写了这个创建多个线程并运行它们的小程序.在每个线程中,值会多次递增.我使用了ThreadLocal类,因此没有争用资源.

资源:

class MyValueHolder {

    public static ThreadLocal<Integer> value = new ThreadLocal<Integer>()
    {
        protected Integer initialValue() {
            return 0;
        }
    };

    public static void increment() {
        value.set(value.get() + 1);
    }

    public static Integer get() {
        return value.get();
    }
}

class MyTask implements Runnable {

    public static int counter;

    public MyTask() {
        counter++;
    }

    public void run() {

        for(int i = 0; i < 100; i++) {
            MyValueHolder.increment();
        }
        System.out.println("MyTask " + counter + ", Value " + MyValueHolder.get());
    }
} …
Run Code Online (Sandbox Code Playgroud)

java concurrency multithreading

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