猜测ncursesw gem有一个依赖,直接装了:
bash
sudo apt-get install libncursesw5-dev
nohighlight
[sudo] password for satgo1546: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列【新】软件包将被安装: libncursesw5-dev 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 11 个软件包未被升级。 需要下载 197 kB 的软件包。 解压缩后会消耗掉 1,208 kB 的额外空间。 获取:1 http://mirrors.aliyun.com/ubuntu/ trusty/main libncursesw5-dev amd64 5.9+20140118-1ubuntu1 [197 kB] 下载 197 kB,耗时 0秒 (676 kB/s) Selecting previously unselected package libncursesw5-dev:amd64. (正在读取数据库 ... 系统当前共安装有 414283 个文件和目录。) Preparing to unpack .../libncursesw5-dev_5.9+20140118-1ubuntu1_amd64.deb ... Unpacking libncursesw5-dev:amd64 (5.9+20140118-1ubuntu1) ... 正在设置 libncursesw5-dev:amd64 (5.9+20140118-1ubuntu1) ...
我这么安装了ncursesw gem。
bash
gem install ncursesw
nohighlight
Fetching: ncursesw-1.4.9.gem (100%) Building native extensions. This could take a while... Successfully installed ncursesw-1.4.9 Parsing documentation for ncursesw-1.4.9 Installing ri documentation for ncursesw-1.4.9 Done installing documentation for ncursesw after 3 seconds 1 gem installed
ruby
#!/usr/bin/env ruby require 'ncursesw' begin scr = Ncurses.initscr Ncurses.add_wch("和".ord) Ncurses.refresh sleep 1 ensure Ncurses.endwin end
预期它会在左上角输出``和''。但是结果是每次运行它的时候,会输出一个不一样的字符。
(化简后结果,以下字符均正常输出在屏幕左上角,并且前面确实有一个空格)
nohighlight
$ ./trythis.rb 羕 $ ./trythis.rb 翻 $ ./trythis.rb 翋
大家讲道理2017-04-24 09:11:24
原因は分かりませんが、Ncurses.add_wch("和".ord)
改为Ncurses.addstr("和")
を入れると解決します。そしてその前にはスペースがありません。