(defun test:case (INPUT)
(case (quote INPUT)
("a" (message "bar"))
(otherwise (message "foo"))
))
(test:case "a")
Run Code Online (Sandbox Code Playgroud)
我希望得到一个案例结构,将"a"与INPUT和调用进行比较(message "foo").我不能让上面的代码调用任何东西,但(message "foo").
我一定做错了什么 ?
我无法弄清楚为什么以下代码中的任何一个无法按预期运行.两者都编译成执行文件.
输出:
a.out , prints 1, expected "no value"
a.out 1, prints 2, expected 1
a.out 2, prints 2, expected 2
Run Code Online (Sandbox Code Playgroud)
使用案例:
void main(int in)
{
int a = in ;
printf("In function if\n");
if ( in == 1 )
printf("1\n");
else
if ( in == 2)
printf("2\n");
else
printf("wrong value\n");
}
Run Code Online (Sandbox Code Playgroud)
使用开关:
void main(int in)
{
switch( in )
{
case 1: printf("1\n"); break;
case 2: printf("2\n"); break;
default: printf("wrong value\n"); break;
}
};
Run Code Online (Sandbox Code Playgroud)
我想在C代码中获得以下LISP功能:
(cond ((= in 1) …Run Code Online (Sandbox Code Playgroud)