新手问题 代码错误,(已 ok)

gnn · 2012年07月01日 · 最后由 alswl 回复于 2012年07月02日 · 4060 次阅读
# -*- encoding: utf-8 -*-
zimu="A".."J"
zimu.each do |i|
    puts "当前的元素为" +i.to_s
end

是哪里错呢。眼睛不好使啊

提示

Exit code: 1 ruby test.rb test.rb:4: invalid multibyte char (UTF-8) test.rb:4: invalid multibyte char (UTF-8) test.rb:4: syntax error, unexpected $end, expecting keyword_end puts "当前的元素为" +i.to_s ^

ruby。。。能这样加 encoding 么?

一位朋友=这样写的,参考之前http://ruby-china.org/topics/3946

$ ruby test.rb 
当前的元素为A
当前的元素为B
当前的元素为C
当前的元素为D
当前的元素为E
当前的元素为F
当前的元素为G
当前的元素为H
当前的元素为I
当前的元素为J

我跑了一遍,结果可以。楼主保存的文件是 utf 8 吗?

按 F5 直接运行为啥这段又不行了。。。@Rei

➜ /tmp ruby test.rb 当前的元素为 A 当前的元素为 B 当前的元素为 C 当前的元素为 D 当前的元素为 E 当前的元素为 F 当前的元素为 G 当前的元素为 H 当前的元素为 I 当前的元素为 J 不过貌似用你的 snippet 是可以过的。

#encoding: utf-8

检查文件的编码。我不懂用你的编辑器。

@Rei 找到原因了。把中文去掉就好了,,不知道原因。。。。

还是用笨小孩学吧。。这书太痛苦。。。错误代码提示是第 4 行的中文字符有问题

因为你文件保存的编码可能不是 utf8,但是你在头部指定用 utf8 解析。

不知道原因可不叫找到原因哦。

是啊,找到了,编译器有个地方选择编码,从 cote page 转为 ut-f8

在 Options=>SciTEGlobal.properties 里面设置

# Internationalisation  
# Japanese input code page 932 and ShiftJIS character set 128  
#code.page=932  
#character.set=128  
# Unicode  
code.page=65001 
#code.page=0  
#character.set=204  
# Required for Unicode to work on GTK+:  
#LC_CTYPE=en_US.UTF-8  
output.code.page=65001 

#14 楼 @hooopo 这么神奇,都是数字。

#15 楼 @Rei SciTE 确实是一个比较奇葩的编辑器,有各种小毛病(也可以理解为与常人理解不同的配置)。

编辑器保存的编码问题嘛,我习惯用 vim,windows 下面推荐用 notepad++

需要 登录 后方可回复, 如果你还没有账号请 注册新账号