服务器之家

服务器之家 > 正文

详解Ruby语言中的注释用法与中文编码问题

时间:2020-05-06 10:02     来源/作者:脚本之家

Ruby 注释
注释会对 Ruby 解释器隐藏一行,或者一行的一部分,或者若干行。您可以在行首使用字符( # ):

?
1
# 我是注释,请忽略我。


或者,注释可以跟着语句或表达式的同一行的后面:

?
1
name = "Madisetti" # 这也是注释

您可以注释多行,如下所示:

?
1
2
3
4
# 这是注释。
# 这也是注释。
# 这也是注释。
# 这还是注释。

下面是另一种形式。这种块注释会对解释器隐藏 =begin/=end 之间的行:

?
1
2
3
4
5
6
=begin
这是注释。
这也是注释。
这也是注释。
这还是注释。
=end

Ruby 中文编码
用 Ruby 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。
Python 文件中如果未指定编码,在执行过程会出现报错:

?
1
2
3
#!/usr/bin/ruby -w
 
puts "你好,世界!";

以上程序执行输出结果为:

?
1
invalid multibyte char (US-ASCII)


以上出错信息显示了 Ruby 使用用 ASCII 编码来读源码,中文会出现乱码,解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*-(EMAC写法) 或者 #coding=utf-8 就行了。
实例

?
1
2
3
4
#!/usr/bin/ruby -w
# -*- coding: UTF-8 -*-
 
puts "你好,世界!";

输出结果为:

?
1
你好,世界!


所以如果大家再学习过程中,源代码文件中,若包含中文编码,则需要注意两点:
1. 必须在首行添加 # -*- coding: UTF-8 -*-,告诉解释器使用utf-8来解析源码。
2. 必须设置编辑器保存文件的编码为utf-8。

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
返回顶部