24件ヒット
[1-24件を表示]
(0.182秒)
クラス
- Object (12)
- StringScanner (12)
検索結果
-
StringScanner
# string -> String (39705.0) -
スキャン対象にしている文字列を返します。
...ist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.string # => "test string"
//}
返り値は freeze されていません。
//emlist[例][ruby]{
require 'strscan'
s = StringScanner.new('test string')
s.string.frozen? # => false
//}
なお、このメソッドは StringSc......ner.new に渡した
文字列をそのまま返しますが、この仕様が将来に渡って保証されるわけではありません。
この仕様に依存したコードを書かないようにしましょう。
//emlist[例][ruby]{
require 'strscan'
str = 'test string'
s = StringScanner.......new(str)
s.string == str # => true
s.string.eql?(str) # => true (将来は false になる可能性がある)
//}
また、返り値の文字列に対して破壊的な変更もできますが、
この操作がスキャン対象の文字列を変更することも保証されません。
この... -
Object
# freeze -> self (27268.0) -
オブジェクトを凍結(内容の変更を禁止)します。
... RuntimeError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。
凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze...... freeze が防ぐのは、
`破壊的な操作' と呼ばれるもの一般です。変数への参照自体を凍結したい
場合は、グローバル変数なら Kernel.#trace_var が使えます。
@return self を返します。
//emlist[][ruby]{
a1 = "foo".freeze
a1 = "bar"
p a1 #=> "bar"......"foo".freeze
a2.replace("bar") # can't modify frozen String (RuntimeError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freeze
p a.frozen?......FrozenError を発生させます。
いったん凍結されたオブジェクトを元に戻す方法はありません。
凍結されるのはオブジェクトであり、変数ではありません。代入などで変数の指す
オブジェクトが変化してしまうことは freeze......freeze
a2.replace("bar") # can't modify frozen String (FrozenError)
//}
凍結を解除することはできませんが、Object#dup を使えばほぼ同じ内容の凍結されていない
オブジェクトを得ることはできます。
//emlist[][ruby]{
a = [1].freeze
p a.frozen? #=> t...