以下は、slice!に対して奇妙な結果をもたらす。 (私が間違えていない限り)。String.slice! wierd resultを生成する
ルビー2.2.5p319とIRBセッション(2016年4月26日改訂54774)[x86_64の-のLinux]
irb(main):001:0> a= File.read(',a');nil
=> nil
irb(main):002:0> a.class.name
=> "String"
irb(main):003:0> a.size
=> 66173
irb(main):004:0> b=a.slice(0..65534);nil
=> nil
irb(main):005:0> b.size
=> 65535
irb(main):006:0> a.slice!(0..65534);nil
=> nil
irb(main):007:0> a.size
=> 638
irb(main):008:0>
ファイル "" 長さは66173文字の文字列です。変数が、それは結果B変数新しい文字列にスライスされている場合は
、65535文字の最大サイズを持つテキスト:
文字列型のMySQLの列に合うようにトリミングする必要があります正しいスライスで
変数がが所定の位置にスライスされている場合は、の長さになる奇妙なことを行うようです。どうして?
誰かが何が起こっているのか説明できますか?
もっと慎重に定義を読むことは助けになりました。ありがとうございました。 – Ross