小编JoO*_*oOb的帖子

如何在Clojure中获得用户输入?

我正在学习clojure,但我想知道如何在clojure程序中获取和存储用户输入.我正在查看clojure api,我找到了一个名为read-line的函数,但是我不知道如果使用它是正确的函数...

无论如何,你如何在clojure中获得用户输入?

user-input clojure

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

Clojure中的代码顺序

我在Clojure中有一个简单而令人沮丧的问题,我有一个函数(让我们称之为读函数),它从用户的输入中找出用户想要做的事情,然后调用另一个函数(让我们称之为动作函数).此动作函数在完成后调用读取函数,以便用户可以执行另一个任务.

现在我的问题是如果我在动作函数的代码之前放入read-function的代码,我在read-function中得到一个错误,说它不知道动作函数是什么(因为它的代码是进一步的如果我做相反的事情,我明显得到一个类似的错误,说读取功能无法解决等等.

有没有一种简单的方法来解决这个问题?

实际代码:

(defn ajout [botin]
  (def botin botin)
  (readCmd botin)
)

(defn readCmd [botin]
  (println "Entrez une commande svp ")
  (def botin botin)
  (let [cmd (read-line)]
    (if (.equals cmd "a") ((println "Ajout 8o") (ajout botin))
      (if (.equals cmd "e") ((println "Elim 8o") (eliminer botin))
        (if (.equals cmd "i") ((println "Imprim 8o") (imprimer botin))
          ((println "Commande invalide, nous vous rapellons que les commandes possibles sont : ") (print-les-cmd) (readCmd))))))


)
Run Code Online (Sandbox Code Playgroud)

像这样,我在ajout函数的(readCmd botin)行中得到一个错误:在这种情况下无法解析符号:readCmd

如果我以相反的顺序放置这两个函数的代码,我将得到一个错误说:无法解析符号:在此上下文中的ajout

clojure

36
推荐指数
3
解决办法
5440
查看次数

关于Clojure中的列表和其他内容的问题

关于clojure中的列表,类和变量,我有几个问题.

  1. 这可能看起来很愚蠢,但如何访问List中的元素?

我正在编写一个允许你操作电话簿的程序; 您可以添加条目,删除条目或打印有关条目的信息.这引出了两个问题:

  1. 有没有办法创建一个包含"名称""地址""电话号码"变量的类"条目"?或者在clojure中是不可能的(通常是函数式编程?)如果我不能拥有包含该信息的对象列表,我将如何进行此任务?

  2. 我正在考虑使用一个函数来读取用户输入以了解用户想要做什么(添加条目,删除条目或打印信息)然后调用相应的函数来执行该操作,该函数在完成后回调第一个函数.作为参数传递每个函数的条目列表是正确的事情吗?

parameters class list clojure

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

在C中逐行读取文件

我正在尝试编写一些代码来打开文件,逐行读取其内容并将这些行存储到一个数组中.

首先,我打开文件并计算行数,每行都是固定长度,所以我只是这样做:

    char buf2[LINE_LENGTH];
    int in2 = open("toSend2", O_RDONLY);
    int number_of_lines = 0;

    for (;;)
 {
  char* p2 = buf2;
  int count = read (in2, p2, LINE_LENGTH);
  if (count < 0)
  {
    printf("ERROR");
    break;
  }
  if (count == 0) break; 

  number_of_lines++;

  printf("count: %d \n",count);
  printf("File 2 line : %s", p2);
  printf("\n");

 }
 close (in2);
Run Code Online (Sandbox Code Playgroud)

到目前为止,这很有效,number_of_lines确实是文件"toSend2"中的行数,而我的每个printf都是该文件中包含的行.

现在有了行数,我创建了一个字符串数组,然后我基本上再次遍历整个文件,但这一次,我想将每一行存储在数组中(可能有更好的方法来查找数字文件中的行,但我尝试的所有内容都失败了!)

    char * array[number_of_lines];
    int b=0;
    int in3=0;
    in3 = open("toSend2", O_RDONLY);
    for (;;)
 {
  char* p3 = buf3;
  int count = read (in2, p3, …
Run Code Online (Sandbox Code Playgroud)

c arrays storage file line

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

标签 统计

clojure ×3

arrays ×1

c ×1

class ×1

file ×1

line ×1

list ×1

parameters ×1

storage ×1

user-input ×1