110件ヒット
[1-100件を表示]
(0.133秒)
ライブラリ
- ビルトイン (66)
- erb (11)
-
rexml
/ document (22) -
webrick
/ httputils (11)
キーワード
- CompatibilityError (11)
- ConverterNotFoundError (11)
- ERB (11)
- FormData (11)
- IO (11)
- Instruction (11)
- InvalidByteSequenceError (11)
- String (11)
- UndefinedConversionError (11)
- XMLDecl (11)
検索結果
先頭5件
-
Encoding
:: UndefinedConversionError (9187.0) -
エンコーディング変換後の文字が存在しない場合に発生する例外。
...ない場合に発生する例外。
UTF-8 にしかない文字を EUC-JP に変換しようとした場合などに発生します。
//emlist[例][ruby]{
"\u2603".encode(Encoding::EUC_JP)
#=> Encoding::UndefinedConversionError: U+2603 from UTF-8 to EUC-JP
//}
変換が多段階でなされ、......ist[例][ruby]{
ec = Encoding::Converter.new("ISO-8859-1", "EUC-JP")
# ISO-8859-1 -> UTF-8 -> EUC-JP
begin
ec.convert("\xa0")
# NO-BREAK SPACE, which is available in UTF-8 but not in EUC-JP.
rescue Encoding::UndefinedConversionError
p $!.source_encoding #=> #<Encoding:UTF-8>
p $......!.destination_encoding #=> #<Encoding:EUC-JP>
p $!.source_encoding_name #=> "UTF-8"
p $!.destination_encoding_name #=> "EUC-JP"
puts $!.error_char.dump #=> "\u{a0}"
p $!.error_char.encoding #=> #<Encoding:UTF-8>
end
//}... -
Encoding
:: InvalidByteSequenceError (9043.0) -
文字列がそのエンコーディングにおいて不正なバイト列である場合に発生 する例外。
...である場合に発生
する例外。
通常エンコーディング変換時に発生します。
//emlist[例][ruby]{
"\x82\xa0".force_encoding("cp932").encode("UTF-8")
#=> "あ"
"\x82\xa0".force_encoding("EUC-JP").encode("UTF-8")
#=> Encoding::InvalidByteSequenceError: "\x82" on EUC-JP
//}... -
Encoding
:: CompatibilityError (9031.0) -
2つのエンコーディング間に互換性がない場合に発生する例外。
...い場合に発生する例外。
エンコーディングの異なる文字列を連結しようとした場合などに発生します。
//emlist[例][ruby]{
"あ".encode("EUC-JP") + "あ".encode("UTF-8")
#=> Encoding::CompatibilityError: incompatible character encodings: EUC-JP and UTF-8
//}... -
Encoding
:: ConverterNotFoundError (9013.0) -
指定した名前のエンコーディング変換をする変換器が 存在しない場合に発生する例外。
...指定した名前のエンコーディング変換をする変換器が
存在しない場合に発生する例外。
//emlist[例][ruby]{
"あ".encode("Foo")
#=> Encoding::ConverterNotFoundError: code converter not found (UTF-8 to Foo)
//}... -
String (6133.0)
-
文字列のクラスです。 ヌル文字を含む任意のバイト列を扱うことができます。 文字列の長さにはメモリ容量以外の制限はありません。
...す。
//emlist[文字列リテラルの例][ruby]{
'str\\ing' # シングルクオート文字列 (エスケープシーケンスがほぼ無効)
"string\n" # ダブルクオート文字列 (エスケープシーケンスがすべて有効)
%q(str\\ing) # 「%q」文字列 (エスケープシ......ーケンスがほぼ無効、デリミタが変えられる)
%Q(string\n) # 「%Q」文字列 (エスケープシーケンスがすべて有効、デリミタが変えられる)
# ヒアドキュメント
<<End
この行はヒアドキュメント
End
# ダブルクオートヒアドキュメン......ト
# シングルクオート、ダブルクオートとの併用も可能
<<-End
この行はヒアドキュメント (終端記号をインデントできる)
End
//}
===[a:mutable] 破壊的な変更
Ruby の String クラスは mutable です。
つまり、オブジェクト自体を破......ト
End
# 終端記号がインデントされたヒアドキュメント
# シングルクオート、ダブルクオートとの併用も可能
<<-End
この行はヒアドキュメント (終端記号をインデントできる)
End
# 中身がインデントされたヒアドキュメント... -
WEBrick
:: HTTPUtils :: FormData (6071.0) -
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。
...。multipart/form-data なデータを表すのにも
使われます。
WEBrick::HTTPRequest#query はリクエストのクエリーあるいは
クライアントがフォームへ入力した値を保持した Hash を返しますが、
その Hash のキーと値のうち値は FormData クラ......る場合、WEBrick::HTTPUtils::FormData#list や
WEBrick::HTTPUtils::FormData#each_data によりそれぞれの値を取り出すことができます。
通常のフォームデータ(application/x-www-form-urlencoded)は unescape されています。
ただし multipart/form-data なフォー......ムデータはユーザが content-transfer-encoding
ヘッダを見て適切に処理する必要があります。
=== リンク
* 1867 Form-based File Upload in HTML.
* 2388 multipart/form-data の説明。... -
ERB (6037.0)
-
eRuby スクリプトを処理するクラス。
...eRuby スクリプトを処理するクラス。
従来 ERbLight と呼ばれていたもので、
標準出力への印字が文字列の挿入とならない点が eruby と異なります。
* https://magazine.rubyist.net/articles/0017/0017-BundledLibraries.html
=== 使い方
ERB クラス......ためには require 'erb' する必要があります。
例:
require 'erb'
ERB.new($<.read).run
=== trim_mode
trim_mode は整形の挙動を変更するオプションです。次の振舞いを指定できます。
* 改行の扱い
* %ではじまる行の扱い (ERB 2.0 から追......加されました)
trim_mode に指定できる値は次の通りです。
* ERb-1.4.x 互換の指定方法
* nil, 0: そのまま変換
* 1: 行末が%>のとき改行を出力しない
* 2: 行頭が<%で行末が%>のとき改行を出力しない
* 2.0 からの指定方法... -
REXML
:: Instruction (6037.0) -
XML 処理命令(XML Processing Instruction, XML PI)を表すクラス。
...XML 処理命令(XML Processing Instruction, XML PI)を表すクラス。
XML 処理命令 とは XML 文書中の <? と ?> で挟まれた部分のことで、
アプリケーションへの指示を保持するために使われます。
XML 宣言(文書先頭の <?xml version=... ?>)はXML処......list[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<root />
EOS
doc[2] # => <?p-i xml-stylesheet ...?>
doc[2].target # => "xml-stylesheet"
doc[2].content # => "type=\"text/css\" href=\"st... -
REXML
:: XMLDecl (3055.0) -
XML 宣言を表すクラス。
...り出すには REXML::Document#xml_decl を使います。
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<e />
EOS
xml_decl = doc.xml_decl
xml_decl.version # => "1.0"
xml_decl.encoding # => "UTF-8"
xml_decl.sta......s"
xml_decl.writethis # => true
//}
//emlist[XML 宣言を省略した場合の例。][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<e />
EOS
xml_decl = doc.xml_decl
xml_decl.version # => "1.0"
xml_decl.encoding # => "UTF-8"
xml_decl.standalone # => nil
xml_decl.writethis # =>......L 宣言が encoding 属性を持たない場合の例][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" ?>
<e />
EOS
xml_decl = doc.xml_decl
xml_decl.version # => "1.0"
xml_decl.encoding # => "UTF-8"
xml_decl.standalone # => nil
xml_decl.writethis # => true
//}... -
IO (169.0)
-
基本的な入出力機能のためのクラスです。
...をうけます。
詳しくは「io_encoding」を参照して下さい。
以下がテキスト読み込みメソッドです。
* IO.foreach
* IO.readlines
* IO#each_line
* IO#gets
* IO#getc
* IO#ungetc
* IO#read
* IO#readchar
* IO#readline
* IO#readlines
バイナリ読み込みメ......す文字列のエンコーディングは常に ASCII-8BIT になります。
以下がバイナリ読み込みメソッドです。
* IO#read(size)
* IO#read_nonblock
* IO#readpartial
* IO#sysread
また書き込みメソッド IO#write も IO のエンコーディングの影響を受け......ます。
IO のすべての書き込みメソッドは内部で IO#write を呼びますので、
書き込みメソッドはすべて IO のエンコーディングの影響を受けます。
シーク関連のメソッドはエンコーディングの影響を受けません。
常に1バイト...