AR삽질러

Ruby 文字列 본문

Ruby/Ruby-日本語

Ruby 文字列

아랑팡팡 2023. 12. 13. 20:18
728x90

 

Ruby 文字列

 文字列はTextを表現するために使う

 

シングルクォートとダブルクォート

 - 特殊文字や式展開を使う時 : " "

 - それ以外の時 :  ' ' 

 

単純文字列

'abc', "abc" : 両方とも文字列を表す

 

特殊文字

 \n : new lineを意味する

 "Ruby\nProgramming" : " "(DoubleQuotes)では使える

 'Ryby\nProgramming' :  ' '(Single Quotes)ではできない

 

文字列 Interpolation

 pust "My name is #{first_name} #{last_name}" : 特殊文字と同様に " "(DoubleQuotes)では使える

 pust 'My name is #{first_name} #{last_name}' : 特殊文字と同様に ' '(Single Quotes)ではできない

 - 文字列Interpolationは " " (DoubleQuotes)だけで動く

例えば、first_name="Arang"とlast_name="Choi"という2つの変数があると仮定しましょう。
"My name is #{first_name} #{last_name}"のように作成すると、#{first_name}と#{last_name}の部分がそれぞれArngとChoiに置き換えられ、"My name is Arang Choi"という結果が生成される。

 

irb#1(main):065> 'abc'
=> "abc"
irb#1(main):066> "abc"
=> "abc"
irb#1(main):070> puts "Ryby\nProgramming"
Ryby
Programming
=> nil
irb#1(main):071> puts 'Ryby\nProgramming'
Ryby\nProgramming
=> nil
irb#1(main):072> first_name = 'Arang'
=> "Arang"
irb#1(main):073> last_name = 'Choi'
=> "Choi"
irb#1(main):074> puts "MyName is #{first_name} #{last_name}"
MyName is Arang Choi
=> nil
irb#1(main):075> puts 'MyName is #{first_name} #{last_name}'
MyName is #{first_name} #{last_name}
=> nil

 

文字列操作

 - 空白文字' 'を追加して'Hello' + ''Ruby!''で作成すると、2つの単語の間に空白が入ってHello Ruby!が出力されます。

 

文字列結合

 - 空白文字 '  ' を追加して'Hello' + ''Ruby!''で作成すると、2つの単語の間に空白が入ってHello Ruby!が出力されます。

'Hello' + ' ' + 'World' # => "Hello World"

name = 'Alice'
"Hello #{name}"  # => Hello Alice

greeting = 'Hello'
greeting << 'World!' # "Hello World"

 

文字列Method

 .upcaseメソッドは文字列のすべての文字を大文字に変換します。 たとえば、putss.upcaseはHELLO RUBY!を出力されます。
 .downcaseメソッドは文字列のすべての文字を小文字に変換します。 putss.downcaseはhello ruby!を出力されます。
 s.upcase!のようなメソッドに感嘆符(!)が付いたら、その文字列自体を変更します。 この場合、sの値が元の"Hello Ruby!"から"HELLO RUBY!"に変更されます。

'ruby'.upcase  # => "RUBY"
'RUBY'.downcase  # => "budy"
'ruby'.capitalize  # => "Ruby"

'Hello'.reverse  # => "olleH"
" Hello \n".chomp  # => " Hello "
" Hello ".strip  # => "Hello"
'Hello'.gsub('l', 'r')  # => "Herro"

'Hello'[0]  # => "H"
'Hello'[1..3]  # => "ell"

 

文字列Class

 'abc'.classは、その文字列のクラスを返します。 Rubyでは、すべての文字列はStringクラスのインスタンスです。
 'abc'.methodsは、Stringクラスで使用できるすべてのメソッドを配列に返します。 これにより、RubyのStringクラスが提供する様々な機能を確認することができます。

 

 

irb#1(main):084> puts 'Hello' + 'Ruby!'
HelloRuby!
=> nil
irb#1(main):085> puts 'Hello' + ' ' + 'Ruby!'
Hello Ruby!
=> nil
irb#1(main):086> s = 'Hello Ruby!'
=> "Hello Ruby!"
irb#1(main):089> puts s.upcase
HELLO RUBY!
=> nil
irb#1(main):090> puts s.downcase
hello ruby!
=> nil
irb#1(main):091> puts s
Hello Ruby!
=> nil
irb#1(main):092> s.upcase!
=> "HELLO RUBY!"
irb#1(main):093> s
=> "HELLO RUBY!"
irb#1(main):094> 'abc'.class
=> String
irb#1(main):095> 'abc'.methods
=> 
[:each_grapheme_cluster,
 :slice,
 :slice!,
 :rpartition,
 :encoding,
 :force_encoding,
 :b,
 :valid_encoding?,
 :ascii_only?,
 :hash,
 :unicode_normalized?,
 :encode!,
 :unicode_normalize,
 :unicode_normalize!,

 


空白文字

 

1. Space

 ex) " "

 

2. Tab

 - \t : Space4つの空間

 

3. Newline

 - 改行を示し、通常Enterキーを押すときに生成されます。

 

4. Carriage Return

 - 列の始まりとしてカーソルを移動させるために使用されます。
 ex) "\r" (キャリッジリターン)

 

5. 空白文字処理Method

 .strip : 文字列の前後の空白(スペース、タブ、改行文字)を取り除きます。

 .lstrip : 文字列の前の 空白を除きます。

 .rstrip : 文字列の後の空白を除きます。

 

"    Hello World    ".strip  # => "Hello World"
"\tHello\tWorld\n".stript  # => "Hello\tWord"
"Hello\n".chomp  # => "Hello"

 

 

 

 

728x90
반응형
LIST

'Ruby > Ruby-日本語' 카테고리의 다른 글

Rudy インクリメントとデクリメント  (0) 2023.12.13
Ruby 比較演算子  (0) 2023.12.13
Object指向プログラミング言語の概要  (0) 2023.12.13
Ruby 定数 ・ 数値  (0) 2023.12.13
Ruby 変数  (0) 2023.12.13