ruby - 魔术注释(#Encoding : utf-8 ) in ruby​​ work?

标签 ruby encoding

ruby 中的神奇注释是如何工作的?我在说:

# Encoding: utf-8

这是预处理指令吗?这种结构还有其他用途吗?

最佳答案

源文件顶部的 Ruby 解释器说明 - 这称为魔法注释。在处理您的源代码之前,解释器会读取这一行并设置正确的编码。我相信对于解释语言来说这很常见。至少 Python 使用相同的方法。

您可以通过多种不同的方式指定编码(其中一些可以被编辑器识别):

# encoding: UTF-8
# coding: UTF-8
# -*- coding: UTF-8 -*-

您可以在 this article 中阅读有关源编码的一些有趣内容.

我所知道的唯一具有类似结构的是 shebang , 但它通常与 Unix shell 相关,而不是特定于 Ruby 的。

magic_comments defined in ruby/ruby

关于ruby - 魔术注释(#Encoding : utf-8 ) in ruby​​ work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8879237/

相关文章:

ruby - 如何使用 ruby​​ 中的函数式编程范例重写在动态编程中查找最大连续子数组?

css - 使用 rails collection_select 表单助手更改 'include_blank' 文本的样式

ruby-on-rails - postgres Gem::Ext::BuildError:在 OSX 上安装 'pg' 时无法构建 gem native 扩展

Python3 CSV阅读器Unicode解码错误

java:带有西里尔字符的 HttpURLConnection

ruby-on-rails - 'attr_accessible' 效果

ruby-on-rails - 字符串插值不适用于 Ruby heredoc 常量

java - spring-roo maven项目不支持特殊字符

c# - 破坏 richtextbox 中的编码

c++ - 跨平台mySQL与字符集不一致