1. ホーム
  2. スクリプト・コラム
  3. ルビートピックス

Rubyにおけるコメントの使い方と中国語のエンコーディングについて解説します。

2022-02-01 16:58:55

Rubyのアノテーション
コメントは、Ruby インタープリタから行、行の一部、または複数の行を隠します。行頭の文字(#)は、以下のように使うことができます。

# I'm a comment, please ignore me.


また、文や式の同じ行にコメントが続くこともあります。

name = "Madisetti" # This is also the comment


以下のように、複数行のコメントが可能です。

# This is the comment.
# This is also a comment.
# This is also a comment.
# This is still a comment.


もう一つの形がこちら。このブロックコメントは、=begin/=end の間の行をインタプリタから隠します。

=begin
This is the comment.
This is also a comment.
This is also a comment.
This is still a comment.
=end

Ruby中国語コーディング
Rubyで "Hello, World!" を出力する場合、英語では問題ありませんが、中国語で "Hello, World" を出力すると、中国のエンコーディングの問題に直面する可能性があります。
エンコーディングを指定しないPythonファイルは、実行時にエラーを報告します。

#! /usr/bin/ruby -w

puts "Hello, world! ";



上記プログラム実行の出力は、以下の通りです。

invalid multibyte char (US-ASCII) 


上記のエラーメッセージは、RubyがASCIIエンコーディングでソースコードを読み込んでいるため、中国語が文字化けしてしまうことを示しており、解決策としては、# -*- codingを追加するだけです。UTF-8 -*- (EMAC書き込み) または #coding=utf-8 をファイルの先頭に追加すれば解決します。

#! /usr/bin/ruby -w
# -*- coding: UTF-8 -*-

puts "Hello, world! ";



と出力されます。

Hello, world!


そこで、その後に処理を学ぶ場合、ソースコードのファイルに、中国語のエンコーディングが含まれていると、2つのことに注意する必要があります。
1. # -*- コーディングを追加する必要があります。UTF-8 -*- を最初の行に追加し、インタープリタがソースコードを解析する際にUTF-8を使用するように指示します。
2. エディターがutf-8で保存するように設定されていること。