本には例があります:
"Seconds/day: #{24*60*60}" # => Seconds/day: 86400
"#{'Ho! '*3}Merry Christmas!" # => Ho! Ho! Ho! Merry Christmas!
"This is line #$." # => This is line 3
しかし、3行目の記号#$
を別のファイルに実装しようとすると、奇妙なsmthが出力されます。これが私のファイルですstr2.rb
:
puts "Hello, World #$."
puts "Hello, World #$"
puts "#$"
今私はそれを実行します(Win XPコンソールで):
C:\ ruby \ sbox> ruby str2.rb Hello、World 0 Hello、World ["enumerator.so"、 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/i386-mingw32/enc/encdb.so"、 "C:/Rai lsInstaller / Ruby1.9.3 / lib / ruby / 1.9.1 / i386-mingw32 / enc / windows_1251.so "、" C:/RailsInstaller/Ruby1.9.3/lib/ruby/ 1.9.1 / i386-mingw32 / enc / trans / transdb.so "、" C:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/defau lts.rb "、" C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/i386-mingw32/rbconfig.rb "、" C:/RailsInstaller/Ruby1.9.3/l ib / ruby / site_ruby / 1.9.1 / rubygems / deprecate.rb "、" C:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems /exceptions.rb "、" C:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/defaults/operating_system.rb "、 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb"、 "C:/RailsInstaller/Ruby1.9 .3 / lib / ruby / site_ruby / 1.9.1 / rubygems.rb "、" C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/i386-mingw32/enc/utf_16l e.so "、" C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/i386-mingw32/enc/trans/utf_16_32.so "、" C:/ RailsInstaller / Ru by1.9.3/lib/ruby/1.9.1/i386-mingw32/enc/trans/single_byte.so "] 置く
#$.
(ピリオドは必須です)InteractiveRubyConsoleでのみ行番号が表示されることがわかりました。任意の行で生成されるファイルで使用されます0
。しかし、このような記号を使用すると、なぜすべてのテキストが印刷されるの"#$" \n "#$"
でしょうか。
また、ファイル内のそのようなコード:
puts "Hello, World #$" ## without period at the end
このようなエラーが発生します:
C:\ruby\sbox>ruby str2.rb
str2.rb:3: unterminated string meets end of file
どういう#$
意味ですか?どこでどのように使用しますか?