るりまサーチ

最速Rubyリファレンスマニュアル検索!
108件ヒット [1-100件を表示] (0.160秒)
トップページ > クエリ:t[x] > クエリ:Ruby[x] > クエリ:ruby[x] > クエリ:String[x] > クエリ:string[x] > 種類:クラス[x]

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

<< 1 2 > >>

String (50349.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
//}

===[a:mutable] 破壊的な変更

Ruby
String クラスは mutable です。
つまり、オブジェクト自体を破壊的に変更できます。

「破壊的な変更」とは...

StringScanner (18337.0)

StringScanner は文字列スキャナクラスです。 簡単に高速なスキャナを記述できます。

...StringScanner は文字列スキャナクラスです。
簡単に高速なスキャナを記述できます。

//emlist[例][ruby]{
require 'strscan'

s = StringScanner.new('This is an example string')
s.eos? #=> false

p s.scan(/\w+/) #=> "This"
p s.scan(/\w+/) #=> nil
p s.scan(/\s...
...an(/\s+/) #=> " "
p s.scan(/\w+/) #=> "example"
p s.scan(/\s+/) #=> " "
p s.scan(/\w+/) #=> "string"
s.eos? #=> true

p s.scan(/\s+/) #=> nil
p s.scan(/\w+/) #=> nil
//}

String
Scanner オブジェクトはスキャンする文字列と「スキャンポインタ」のセッ...
...emlist[例][ruby]{
require 'strscan'

## a string and a scan pointer ("_" = scan pointer)

s = StringScanner.new('This is an example string')
# _This is an example string s.eos? = false
s.scan(/\w+/)
# This_ is an example string s.eos? = false
s.scan(/\s+/)
# This _is an example string...

StringIO (18025.0)

文字列に IO と同じインタフェースを持たせるためのクラスです。

...のクラスです。

//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge", 'r+')
p sio.read #=> "hoge"
sio.rewind
p sio.read(1) #=> "h"
sio.write("OGE")
sio.rewind
p sio.read #=> "hOGE"
//}

=== 例外
String
IO オブジェクトは大抵...
...の場合 IO オブジェクトと同じ例外を発生させます。
例えば次の例では write は IOError を発生させます。

//emlist[例][ruby]{
require "stringio"
sio = StringIO.new("hoge")
sio.close
sio.write("a")
# => in `write': not opened for writing (IOError)
//}...

REXML::Formatters::Pretty (9025.0)

XMLドキュメントを(文字列として)見た目良く出力するクラスです。

...matters::Default
異なり見た目のためテキストの改行や空白を修正して出力します。

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/formatters/pretty'
doc = REXML::Document.new <<EOS
<root>
<children>
<grandchildren foo='bar'/>
</children>
</root>
EOS

pretty...
..._formatter = REXML::Formatters::Pretty.new
output = StringIO.new
pretty_formatter.write(doc, output)
output.string
# => "<root>\n <children>\n <grandchildren foo='bar'/>\n </children>\n</root>"
# この出力結果は入力のXMLよりも空白が増えている
//}...

Ripper::Filter (6105.0)

イベントドリブンスタイルで Ruby プログラムを加工するためのクラスです。

... Ruby プログラムを加工するためのクラスです。

このクラスを継承して、必要なイベントに対応するメソッドを定義して使用し
ます。

=== 使用例

//emlist[][ruby]{
require 'ripper'
require 'cgi'

class
Ruby2HTML < Ripper::Filter
def on_default(eve...
...nt, tok, f)
f << CGI.escapeHTML(tok)
end

def on_comment(tok, f)
f << %Q[<span class="comment">#{CGI.escapeHTML(tok)}</span>]
end

def on_tstring_beg(tok, f)
f << %Q[<span class="string">#{CGI.escapeHTML(tok)}]
end

def on_tstring_end(tok, f)
f << %Q[#{CGI.escapeHTML(tok)...
...}</span>]
end
end

Ruby
2HTML.new(ARGF).parse('')
//}

Ruby
プログラムを解析して、Ripper::SCANNER_EVENTS にあるスキャナ
イベントを実行します。イベントはプログラムに書いた順番で実行されます。

上記の例では、parse メソッドに渡した空...

絞り込み条件を変える

REXML::Comment (6049.0)

XML コメントを表すクラス。

...コメントとは <!-- と --> で挟まれたテキストです。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<!-- xx -->
<root>
<!-- yy -->
t
ext
<!-- zz -->
</root>
EOS

doc[0].string # => " xx "
doc.root[1].string # => " yy "
doc.root[3].string # => " zz "
//}...

REXML::Formatters::Default (6049.0)

XMLドキュメントを(文字列として)出力するクラスです。

...rmatters::Pretty と
異なりテキストの改行や空白を修正せずにそのまま出力します。

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/formatters/default'
doc = REXML::Document.new <<EOS
<root>
<children>
<grandchildren/>
</children>
</root>
EOS

default_formatter...
...= REXML::Formatters::Default.new
output = StringIO.new
default_formatter.write(doc, output)
output.string
# => "<root>\n<children>\n <grandchildren/>\n</children>\n</root>\n"

output = StringIO.new
default_formatter.write(REXML::XPath.first(doc, "/root/children"), output)
output.string
# => "<child...
...ren>\n <grandchildren/>\n</children>"

ie_hack_formatter = REXML::Formatters::Default.new(true)
output = StringIO.new
ie_hack_formatter.write(doc, output)
output.string
# => "<root>\n<children>\n <grandchildren />\n</children>\n</root>\n"
//}...

REXML::Formatters::Transitive (6049.0)

XMLドキュメントをテキストの内容を変えずに 多少の整形を加えて出力するクラスです。

...t[][ruby]{
require 'rexml/document'
require 'rexml/formatters/transitive'
doc = REXML::Document.new <<EOS
<root><children>
<grandchildren foo='bar' />
</children></root>
EOS

t
ransitive_formatter = REXML::Formatters::Transitive.new
output = StringIO.new
t
ransitive_formatter.write(doc, output)
output...
....string
# => "<root\n><children\n >\n<grandchildren foo='bar'\n />\n</children\n ></root\n>\n"
print output.string
# >> <root
# >> ><children
# >> >
# >> <grandchildren foo='bar'
# >> />
# >> </children
# >> ></root
# >> >

output = StringIO.new
t
ransitive_formatter.write(REXML::XPath.f...
...irst(doc, "/root/children"), output)
output.string
# => "<children\n>\n<grandchildren foo='bar'\n />\n</children\n>"
//}...

Enumerator (6037.0)

each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。

...れます。
Enumerator を介することにより String#each_byte のような
異なる名前のイテレータについても each と同様に Enumerable の機能を利用できます。

Enumerator を生成するには Enumerator.newあるいは
Object#to_enum, Object#enum_for を利用し...
...merator を生成して返します。

=== 注意
外部イテレータとしての機能は Fiber を用いて実装されているため Fiber と同じ制限があります。
例えば以下のようなスレッドをまたいだ呼び出しはエラーになります。

//emlist[例][ruby]{
a...
...= nil
T
hread.new do
a = [1, 2, 3].each
a.next
end.join

p a.next
#=> t.rb:7:in `next': fiber called across threads (FiberError)
# from t.rb:7:in `<main>'
//}...
<< 1 2 > >>