如何在Erlang中读取标准输入的字符

如何在Erlang中读取标准输入的字符,erlang,io-buffering,Erlang,Io Buffering,我正在尝试编写一个基本的视频游戏,希望能从键盘输入。因此,我需要在标准输入上读取产生的字符。 由于缓冲,io:get_chars,io:fread仅在按下返回键后返回 在标准输入中生成字符时,是否可以访问这些字符 我该怎么做 该项目的目的不是制作一个真实的游戏,它只是学习Erlang的一种方式。因此,性能不是问题 编辑:这似乎提供了我正在寻找的功能。但是,如果我没有弄错的话,代码的一部分是用C编写的,并通过消息传递将字符发送到Erlang部分。对于这种方法,是否有一种Erlang固有的替代方法,

我正在尝试编写一个基本的视频游戏,希望能从键盘输入。因此,我需要在标准输入上读取产生的字符。 由于缓冲,io:get_chars,io:fread仅在按下返回键后返回

  • 在标准输入中生成字符时,是否可以访问这些字符
  • 我该怎么做
  • 该项目的目的不是制作一个真实的游戏,它只是学习Erlang的一种方式。因此,性能不是问题


    编辑:这似乎提供了我正在寻找的功能。但是,如果我没有弄错的话,代码的一部分是用C编写的,并通过消息传递将字符发送到Erlang部分。对于这种方法,是否有一种Erlang固有的替代方法,或者这是唯一有效的方法?

    一般来说,在处理游戏键盘输入时,从STDIN读取不是您想要的方式。您希望能够在任何给定时刻读取键的状态

    看一看(和)


    它是一个到库的Erlang接口,包括处理各种输入的接口,包括键盘。

    esdl
    被认为是遗留的
    wx
    应用于新的应用程序。但esdl2似乎仍然保持不变。