小编pb2*_*b2q的帖子

Scheme/Racket - 用于更改过程顺序和参数的宏

我想更改以下表达式的语法:

(> 2 1)
Run Code Online (Sandbox Code Playgroud)

类似于:

(2 greater 1)
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试是以下宏:

(define-syntax greater 
  (lambda (x)
    (syntax-case x (greater)
      [(a greater b)
       (syntax (> a b))])))
Run Code Online (Sandbox Code Playgroud)

使用此宏失败:"语法错误:更大"

我一直在浏览一些Scheme文档,但我找不到这样做的方法.

macros scheme racket

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

如何获取JDT中某个方法的所有可见变量

我想开发一个Eclipse插件,它可以获取特定方法的所有可见变量.例如:

public class testVariable {  
    String test1;  
    Object test2;
        void method_test1(){
            int test3,test4;
        }
        void method_test2(){
            int test5,test6;
            //get variable here!!!!
        }
}
Run Code Online (Sandbox Code Playgroud)

我只想得到可见的变量是:test1, test2,test5,test6在方法中method_test2.我能做什么?

eclipse-plugin eclipse-jdt

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

如何在C++中更清楚地包含头文件

在C++中,我有一些头文件,例如:Base.h和一些使用的类Base.h:

//OtherBase1.h
#include "Base.h"
class OtherBase1{
    // something goes here
};

//OtherBase2.h
#include "Base.h"
class OtherBase2{
    // something goes here
};
Run Code Online (Sandbox Code Playgroud)

而且main.cpp,OtherBase由于重复的标题,我只能使用这两个类中的一个.如果我想要使用这两个类,OtherBase2.h我必须#include "OtherBase1.h"代替#include "Base.h".有时候,我只是想用OtherBase2.h而不是OtherBase1.h,所以我认为这是很奇怪的,包括OtherBase1.h在OtherBase2.h.我该怎么做才能避免这种情况以及包含头文件的最佳做法是什么?

c c++ header-files

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

Java - 在String中忽略分隔符

我有一个字符串使用管道符号"|作为分隔符.但是,字符串数据也包含管道符号.有没有办法忽略这个?

例:

name|address|age

John|123 Wood Road|Street, London|25
Run Code Online (Sandbox Code Playgroud)

因此,当我这样做 -

text.split("\\|")
Run Code Online (Sandbox Code Playgroud)

给我:

John

123 Wood Road

Street, London

25
Run Code Online (Sandbox Code Playgroud)

我期待这个:

John

123 Wood Road|Street, London

25
Run Code Online (Sandbox Code Playgroud)

java

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

如何删除已添加到Label的clickHandler?

我正在使用GWT/JAVA进行开发.我有以下问题:我想从已添加到Label的Label中删除ClickHandler.

我尝试了removeClickListener(),但它已被弃用,所以我找不到另一个解决方案来执行此操作.

如果有人找到解决方案,请告诉我..

java gwt click handler

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

字符串输出只返回一个单词

这个程序运行得很好,但出于某种原因,当我要求输入名称时,它只会保存响应中的第一个单词.例如,如果我在稍后使用它输入"Jon Snow"时输出它将只显示"Jon".

import java.util.Scanner;

public class help 
{
public static void main (String[] args)
{
    Scanner input = new Scanner(System.in); //object for user input

    //constant
    final double tax = 0.08; //Sales tax

    //variables
    int choice;                 //menu selection/case switch
    String name;                //customer's name   
    String address;             //customer's address
    String email;               //customer's email address
    String item;                //item purchased
    double itemsPurchased;      //number of items purchased
    double itemPrice;           //price of item purchased
    double total;               //total for purchase
    double grandTotal;          //total + tax
    double taxAmount;           //tax …
Run Code Online (Sandbox Code Playgroud)

java java.util.scanner

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

如果 char 是空格,则在 C++ 中将其替换为“+”

我不知道我的代码有什么问题:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string test;
    cin>>test;
    if (test[4] == ' ')
    {
        test[4] = '+';
    }
    cout<<test<<endl;
    system("PAUSE"); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我基本上是要求用户给我一个字符串(该字符串将是“星际迷航”),然后,我希望将该字符串替换为“+”。出于某种原因,每当我尝试时我都会得到这个。但是,当我运行此命令时,会弹出一个对话框,显示“调试断言失败”和“表达式:字符串下标超出范围”。

c++ char

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

为什么我不能使用String.format()来格式化来自Integer.toBinaryString()的字符串?

inttime[]是一个已保存单位数整数值的数组.第一个for循环试图将每个整数转换为二进制字符串并将其存储到字符串数组中bintime[].这部分工作正常,但是当我尝试运行下一个for循环时,我得到了非法的格式转换错误.

for(int j = 0; j < inttime.length; j++){
bintime[j] = Integer.toBinaryString(inttime[j]);
}

for(int a = 0; a < bintime.length; a++){
System.out.println(String.format("%04d",bintime[a]));
}
Run Code Online (Sandbox Code Playgroud)

如果bintime[]是String数组,为什么会发生这种情况?

java string string-formatting

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

有没有办法打印调用我的C二进制文件的进程的PID

我需要知道哪个perl脚本正在使用我的C CLI.

使用bash我可以使用以下命令轻松打印"who"运行脚本:

CALLER=$(ps ax | grep "^ *$PPID" | awk '{print $NF}')
echo $CALLER
Run Code Online (Sandbox Code Playgroud)

到目前为止,我一直在使用它作为包装,但它并不理想.有没有办法从C中获取这些信息?

(我正在运行UNIX w/gcc)

c unix bash gcc solaris

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

没有输出的printf样式格式

我要做的是char*使用类似于下面的语法创建一个新的printf:

char* myNewString = XXXXprintf("My string says %s", myFirstString);
Run Code Online (Sandbox Code Playgroud)

如果不打印到输出流,这是否可行?

c string printf

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