プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Ruby
  • 【Ruby】文字列についての知識
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Ruby】文字列についての知識

06.15

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

1文の区切り

「改行」が1文の区切りになります。よくあるセミコロン(;)ではないので注意です。

文字列

シングルコーテーションで囲う

特殊文字(\n,\r、\t等)を、ただの文字列として扱うことができる。

ダブルコーテーションで囲う

特殊文字(\n,\r、\t等)や式展開も、特殊文字列として扱うことができる。

式展開

例えば、nameという変数があった場合に「"私の名前は#{name}です。"」とすると文字列の中に変数を埋め込むことができる機能です。ダブルコーテーションで囲った場合しか動作しないので注意しましょう。

実行結果比較

1
2
3
4
5
str = 'Hello \nWorld'
puts str
 
str = "Hello \nWorld"
puts str

 実行結果

「シングルコーテーション」と、「ダブルコーテーション」の使い分け

基本的には、「ダブルコーテーション」を使う必要がない場合は、「シングルコーテーション」を使うとしている現場が多いです。

文字列の出力

文字列の出力には、下記の3つのメソッドがあります。

  • puts
  • print
  • p

puts

改行を加えて、文字列を出力する。評価結果としてnilを返します。

print

改行を加えずに、文字列を出力する。評価結果としてnilを返します。

p

デバッグ用に使うメソッドです。オブジェクトそのものを返しオブジェクトの内容を見やすいように整形してくれるメソッドです。改行を加えてさらにシングルコーテーションで囲んで文字列を出力します。

pp

これもpメソッドと同じようにデバッグ用のメソッドです。pメソッドの出力が見辛い場合はこちらを使いましょう。

エスケープするには

シングルコーテーションやダブルコーテーションをエスケープしたい場合は、「%q!」もしくは「%Q!」、「%!」で文字列を囲います。

1
2
3
4
5
6
#「%q!」:シングルクオートで囲ったことと同じになる。
puts %q!"テストですよ2",'!
 
#「%Q!」、「%!」:ダブルクオートで囲ったことと同じになる。
puts %Q!"テストですよ3",'!
puts %!"テストですよ",'!

文字の連結

+演算子を使った方法

1
"文字を" + "連結させる"

連結させた文字列を保持したい場合(自己代入を使う)

一旦変数に格納した上でその変数に対して自己代入を行います。左の式から評価されるので変数に値を代入していないとエラーになります。

1
str += "連結する。"

末尾に追記する方法

1
"文字の" << "末尾に追加する。"

文字を繰り返す

文字を指定した回数分繰り返すことができます。実務ではあまり使用頻度は高くないですがテストとかで決まった文字数の文字を作りたい場合等には重宝したりします。

1
'文字' * 10(繰り返し回数)

インデント(字下げ)

Rubyプログラムで、インデント(字下げ)する場合は、タブを使わずにスペース2つでインデントする決まりとなっていることが多いです。

スポンサーリンク
  • 2018 06.15
  • miyabisan2
  • コメントを書く
  • Ruby
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2019 11.17

    【Ruby】例外処理

  2. 2018 06.18

    【Ruby】デバッグの仕方

  3. 2018 06.16

    【Ruby】「モジュール」や「ミックスイン」について

  4. 2019 12.01

    【Rspec】テストコードの処理の共通化(before、let、shared_examples)

  5. 2019 11.16

    【Ruby】メソッド、yield、Procオブジェクトに関する知識

  6. 2019 12.01

    【Rspec】Capybaraの構文まとめ

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Ruby】「オブジェクト」、「クラス」の扱い方、継承…

【Ruby】Rubyの基本、正規表現の便利ツール(Ru…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー