新手问题 putc ?.

Ritr · 2018年12月07日 · 最后由 Ritr 回复于 2018年12月14日 · 1328 次阅读
aFile = File.new("input.txt", "r+")
if aFile
   aFile.syswrite("ABCDEF")
   aFile.rewind
   aFile.each_byte {|ch| putc ch; putc ?. }
else
   puts "Unable to open file!"
end

这个 putc ?.是啥意思,没看懂

chrishyman 回复

没回答到点子上

请自行 google。不要直接 搜索 putc ?. 或者 ?. ,而用英语搜 ruby question mark

学到了新姿势……

?.等价于'.',?\n等价于'\n'。说白了就是单个字符,不过项目中不建议使用

BruceDing 回复

抱歉,没认真看。 单个字符串前置的 ? 是一个老版本 Ruby 就有的操作符,你可以理解为字面量一个 char(但事实上 ruby 并没有 char)。 1.9 之后 ?[char] 得到的就是一个 String,1.8 的话得到的是一个 ASCII code。

好的,谢谢各位大佬的帮助

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