是否可以在tcl列表声明中使用变量?我有以下简单示例:
set grape_color "green"
set produce_list {\
{ PRODUCE COLOR REGION }\
{ APPLE "red" TX }\
{ GRAPE $grape_color CA }\
}
puts $produce_list
Run Code Online (Sandbox Code Playgroud)
代码的输出是这样的:
{ PRODUCE COLOR REGION }
{ APPLE "red" TX }
{ GRAPE $grape_color CA }
Run Code Online (Sandbox Code Playgroud)
但我想要"绿色"而不是$grape_color列表.
我想将字符串数组转换为整数。我写了这个,但是 eclipse 返回一个错误:
这是代码:
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("array_list.csv"));
String everything = "";
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append('\n');
line = br.readLine();
}
everything = sb.toString();
} finally {
br.close();
}
int firstArrLenght = everything.indexOf("]");
int secondArrStartIndex = everything.lastIndexOf("[") + 1;
int secondArrLenght = everything.lastIndexOf("]") - secondArrStartIndex;
String[] firstStrArr = everything.substring(1, firstArrLenght).split(",");
String[] secondStrArr = everything.substring(secondArrStartIndex, secondArrLenght).split(",");
Run Code Online (Sandbox Code Playgroud)
eclipse 不喜欢这些行。我想将这里的字符串数组转换为整数。然后我将使用其他逻辑的整数。 …
在以下代码中,该getEntriesNotWorking方法报告编译时错误:
public class DoubleBracketInitializerTest {
class Container {}
class Entry {
Container container;
public Entry(Container container) {
this.container = container;
}
}
class DetailedContainer extends Container {
List<Entry> getEntriesNotWorking() {
return new ArrayList<Entry>() {{
add(new Entry(this)); // compile-time error mentioned below
}};
}
List<Entry> getEntriesWorking() {
return Arrays.asList(new Entry(this));
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
构造函数DoubleBracketInitializerTest.Entry(new ArrayList(){})未定义
虽然该getEntriesWorking()方法正确编译.构造函数显然在那里,因为它DetailedContailer是一个子类Contailer.
这两种方法有什么区别,使代码无效?如何使双括号初始化程序适用于此类层次结构?
这是一段代码:
unsigned short a=-1;
unsigned char b=-1;
char c=-1;
unsigned int x=-1;
printf("%d %d %d %d",a,b,c,x);
Run Code Online (Sandbox Code Playgroud)
为什么输出是这样的:
65535 255 -1 -1
Run Code Online (Sandbox Code Playgroud)
?
有人可以分析一下吗?
我正在尝试创建一个线程库,我的线程是一个struct类型.必须遵循某个界面,并且我需要传递threadby值.例如:要加入一个线程,我的代码如下:
int thread_join(thread_t thread, void **status1)
{
printf("Joining thread\n");
long int thId = thread.id;
printf("Thread id: %ld\n", thId);
gtthread_t * thrd = getThreadFromID(thId);
while(thrd->status != EXIT)
{
}
status1 = &(thrd->ret_value);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
而且我将一个struct类型传递给了thread_t这个函数.我的问题是当我在调用函数中看到线程的ID时,它正确显示但是当我在thread_join函数中检查它时显示为0.调用函数如下:
void* caller(void* arg)
{
thread_t th;
thread_create(&th, some_function, NULL);
thread_join(th, NULL);
while(1);
}
Run Code Online (Sandbox Code Playgroud)
线程创建将线程的ID初始化为非零值,并启动与其关联的功能.
我的线程结构(以及其他相关结构):
typedef enum
{
RUNNING,
WAITING,
CANCEL,
EXIT
} stat;
//Thread
typedef struct
{
ucontext_t t_ctxt;
long int id;
stat status; …Run Code Online (Sandbox Code Playgroud) (这个问题是Is复合的精确副本,如果检查null,然后C++中的其他条件总是安全的?但是关于C,而不是C++.有人指出问题应该更具体).
我一直在使用以下类型的if条件.
char* ptr = ...;
if (ptr != NULL && ptr[0] != '\0') // <=== is this always safe?
{ /* ... */ }
Run Code Online (Sandbox Code Playgroud)
它依赖于ptr != NULL之前的检查ptr[0] !='\0'.
在所有标准,编译器和架构下都安全吗?或者是否有可能ptr[0] != '\0'在之前进行检查ptr != NULL?
这是我的代码:
public void start()
{
//If the gas tank and oil have more than nothing, and the transmission is in gear park, then the car can start
if((gasTank.getGasLevel() > 0) && (engine.getOilLevel() > 0) && (transmission.gearPark()))
{
engine.startEngine();
System.out.println("Engine is now on");
}
else
{
System.out.println("Please make sure your car is in proper gear, engine has oil and gas.");
}
}
Run Code Online (Sandbox Code Playgroud)
我一直在收到'void' type not allowed here错误.我不是想要返回任何东西所以我知道我不需要int,Boolean,double等.
我究竟做错了什么?
表达式的评估顺序一直是C++中未指定行为的来源.C++ 11标准最终是否说明评估的顺序应该是什么?
我们现在知道以下表达式的值var1和var2:
int var1 =10, var2=20;
var1 = var2 = 30;
Run Code Online (Sandbox Code Playgroud)
它会是var1=30 and var2=30,还是var1=20 and var2=30?
c ×3
java ×3
c++ ×1
c++11 ×1
collections ×1
expression ×1
if-statement ×1
output ×1
printf ×1
signed ×1
struct ×1
tcl ×1
types ×1
unsigned ×1
void ×1