↓↓クリックして頂けると励みになります。
【21 | 表の応用】 << 【ホーム】 >> 【23 | 構造体】
RubyにはStringBufferという特定のクラスはありません。
しかし、StringBufferという用語は、一部のプログラミング言語(主にJavaなど)で文字列を効率的に操作するためのクラスを指すことがあります。
Rubyでは、文字列を効率的に操作するためにStringクラスがあります。
Stringクラスは可変であり、文字列の連結や置換などの操作が可能です。
RubyのStringクラスは、文字列を変更する操作が比較的高速であり、通常はStringBufferのような専用のクラスが必要ないほど効率的です。
そのため、Rubyの場合、通常はStringクラスを使用して文字列を操作します。
必要に応じて、文字列の連結などの操作が多い場合は、<<演算子
や+=演算子
を使用して文字列を効率的に構築することができます。
StringBufferは、文字列に文字列を加えたりすることのできるメソッドですが、Rubyでの文字列連結は足し算するだけでいいです。
str = 'str1' + 'str2'
一般的には「<<
」を使用した文字列連結が用いられます。
str = 'str1' << 'str2'
こちらの記述のほうが処理スピードが早いです。
Visual Studio Codeで以下のプログラムを作ってみましょう。
新規作成 【buffertest1.rb】
class Buffertest1 def add( sb ) sb << '11' end end sb = '00' b=Buffertest1.new() b.add( sb ) puts sb
出力結果です。
~/Desktop/Programming/RB $ ruby buffertest1.rb 0011
Visual Studio Codeで以下のプログラムを作ってみましょう。
新規作成 【buffertest2.rb】
class Buffertest2 sb = 'start' puts sb puts '大きさ:' + sb.length().to_s # ファイルサイズ(バイト単位) puts '容量:' + sb.size().to_s + 'バイト' puts '' sb << '0123456789' puts sb puts '大きさ:' + sb.length().to_s puts '容量:' + sb.size().to_s + 'バイト' puts '' # 0番目に文字列を挿入する sb.insert( 0, 'abcdefg' ) puts sb puts '大きさ:' + sb.length().to_s puts '容量:' + sb.size().to_s + 'バイト' puts '' sb.insert( 7, 'hijklmnopqrstuvwxyz') puts sb puts '大きさ:' + sb.length().to_s puts '容量:' + sb.size().to_s + 'バイト' puts '' # 指定した文字を消去 sb.delete!('lmnopqrstu456') puts sb puts '大きさ:' + sb.length().to_s puts '容量:' + sb.size().to_s + 'バイト' puts '' end
出力結果を見てみましょう。
~/Desktop/Programming/RB $ ruby buffertest2.rb start 大きさ:5 容量:5バイト start0123456789 大きさ:15 容量:15バイト abcdefgstart0123456789 大きさ:22 容量:22バイト abcdefghijklmnopqrstuvwxyzstart0123456789 大きさ:41 容量:41バイト abcdefghijkvwxyza0123789 大きさ:24 容量:24バイト
【21 | 表の応用】 << 【ホーム】 >> 【23 | 構造体】
↓↓クリックして頂けると励みになります。