Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

Rubyでの文字列の連結と補間(例付き)

複数の文字列を組み合わせるのは、Rubyで頻繁に行う必要があることです。

しかし、どうすればそれができますか?

ええと…

2つの方法があります

  1. Ruby文字列の連結
  2. Ruby文字列補間

連結は次のようになります

a = "Nice to meet you"
b = ", "
c = "do you like blueberries?"

a + b + c

# "Nice to meet you, do you like blueberries?"

+を使用できます 文字列を別の文字列に追加する演算子。

この場合、a + b + c 、新しい文字列を作成します。

ところで、これを機能させるために変数を使用する必要はありません。

puts "I like" + " " + "chocolate"

# I like chocolate

別のオプションは、+=を使用することです オペレーター。

a = ""

a += "test"
a += "test"
a += "test"

a
# "testtesttest"

空の文字列から始めて、それに追加することでより大きな文字列を作成します。

しかし、これには1つの問題があります…

とても遅いです!

次に解決策が登場します。

ルビーコンキャットメソッドの例

Rubyのconcatを使用できます 文字列を効率的にマージする方法。

方法は次のとおりです

str = ""

str.concat("a")
str.concat("a")

str
# "aa"

文字列strが変更されるため、高速です 、新しいものを作成する代わりに。

しかし、これは+=ほど良くはありません …

別の方法はありますか?

はい!

<<を使用できます concatのエイリアスであるメソッド 。

:Ruby 2.4以降、concatとの小さな違いがあります <<を使用して、複数の引数を渡すことができます 一度に渡すことができるのは1つだけです。

str = ""

str << "a"
str << "a"

これもできます

str = ""

str << "a" << "a"

残っている問題は1つだけです。

文字列を変数と組み合わせたいが、変数の1つが文字列ではない場合、予期しない結果が得られます。

ご覧ください

"" + 1
# TypeError: no implicit conversion of Fixnum into String

"" << 1
# "\x01"

解決策は何ですか?

to_sメソッドを使用して、すべての新しいオブジェクトを文字列に変換します。

このように

"" + 1.to_s

もちろん、これは醜い速度になるので、使用できる別のツールがあります。

Ruby文字列補間の使用方法

変数を文字列に補間またはマージすることは、強力な手法です。

文字列を「テンプレート化」することができます。

ここに例があります

age  = 33
name = "Jesus"

"Hello, my name is #{name} & I'm #{age} years old."

任意のnameをプラグインできます &age 文字列の前に変数として設定します。

最良の部分は?

Rubyがこれらの値を文字列に変換します。

したがって、to_sを呼び出す必要はありません !

良いもの。

文字列の追加

文字列を組み合わせる別の方法があります。

変数と小さい文字列を「文字列補間」で新しいものに結合する代わりに。

または、末尾に<<を追加します &concat

prependすることもできます !

str = ""

str.prepend("1")
str.prepend("2")
str.prepend("3")

# "321"

appendがあるとお考えの場合 方法はありません。

アレイの場合のみ。

概要

Rubyでの文字列の連結、追加、追加、補間について学習しました。これにより、複数の文字列を組み合わせることができます。

役に立ったと思ったら、この記事を共有してください🙂

読んでくれてありがとう。


  1. Ruby Mapメソッドの使用方法(例付き)

    Mapは、配列、ハッシュ、範囲で使用できるRubyメソッドです。 マップの主な用途は、データを変換することです。 例 : 文字列の配列が与えられた場合、すべての文字列に目を通し、すべての文字を大文字にすることができます。 または、Userのリストがある場合 オブジェクト… 変換できます 対応するメールアドレス、電話番号、またはその他の属性のリストにそれらを追加します Userで定義 クラス。 これを行う方法を正確に見てみましょう! ルビーマップ構文 マップの構文は次のようになります: array = [a, b, c] array.map { |string| string.

  2. Rubyでファイルを読み書きする方法(例付き)

    今日は、Rubyでファイルを読み書きして、コンテンツを抽出し、新しいファイルを作成し、必要な情報を見つける方法を学びます。 これから説明します : コンテンツ 1Rubyでファイルを読み取る方法 2Rubyでファイルに書き込む方法 3つのRubyファイルメソッド 4つのディレクトリ操作 5FileUtilsモジュールの使用方法 6まとめ 6.1関連 やってみましょう! Rubyでファイルを読み取る方法 次のようにRubyでファイルを読み取ることができます: ファイルを開く 、open メソッド。 ファイルを読む 、ファイル全体、行ごと、または特定のバイト数。 ファイルを