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

Rubyでヒアドキュメントを使用する方法

ヒアドキュメントとは何ですか?

ヒアドキュメントは、元のインデントとフォーマットを維持しながら、複数行の文字列を定義する方法です。 。

これは、SQLやHTMLなどのコードスニペットを埋め込むために使用されます。

ここに例があります

query = <<-SQL
SELECT * FROM food
WHERE healthy = true
SQL

この構文を使用して、ヒアドキュメントを定義します。 Rubyで。

記号<<-から始めます 、次にこのヒアドキュメントの名前を表す単語、次にヒアドキュメントの内容、次にヒアドキュメントをその単語で閉じます。

これを行う別の方法は、%Qを使用することです

query = %Q(

  Article about heredocs

)

この文字列の最初と最後に追加の改行が表示されます。ヒアドキュメント(またはstripの呼び出し メソッド)はそれを解決します。

これが改行なしのルビーヒアドキュメントです :

query = <<-HTML.chomp

  Article about heredocs

HTML

ルビーヒアドキュメント補間

ヒアドキュメントで文字列補間を使用できるかどうか疑問に思っている場合...

答えはイエスです!

type  = "healthy"
table = "food"

query = <<-SQL
SELECT * FROM #{table}
WHERE #{type} = true
SQL

ヒアドキュメント名を一重引用符で囲むことにより、補間を無効にできます。

このように

doc = <<-'TIME'
Current time is #{Time.now}
TIME

ルビースクイグリヒアドキュメント

すべての行の先頭にある余分なインデントを削除するにはどうすればよいですか?

それが波状のヒアドキュメントです です。

Ruby 2.3で導入された、波状のヒアドキュメントは、余分なインデントを削除します。

page = <<-HTML
  Heredocs are cool & useful
HTML

# "  Heredocs are cool & useful\n"

page = <<~HTML
  Heredocs are cool & useful
HTML

# "Heredocs are cool & useful\n"

page = <<~HTML.strip
  Heredocs are cool & useful
HTML

# "Heredocs are cool & useful"

これで、読みやすくするために余分なスペースを確保できます。

実際の文字列でそれらを省略しながら!

概要

コードに複数行の文字列を埋め込むためにRubyでヒアドキュメントを使用する方法を学びました。これは、コードのテストを記述したり、ファイルを読み取らずに少量のデータを利用できるようにする場合に役立ちます。

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


  1. Rubyエイリアスキーワードの使用方法

    Rubyメソッドに別の名前を付けるには、次の2つの方法があります。 エイリアス(キーワード) alias_method 彼らはわずかに異なる方法で同じことをするので、これは紛らわしいトピックになる可能性があります。 この画像は違いの要約です : しっかりと理解するために、これらの違いをさらに詳しく調べてみましょう! エイリアスキーワード まず、aliasがあります 、これはRubyキーワードです(ifなど) 、def 、class 、など) このように見えます : alias print_something puts print_something 1 prin

  2. RubyでStructとOpenStructを使用する方法

    Rubyの構造体とは何ですか? 構造体は組み込みのRubyクラスであり、値オブジェクトを生成する新しいクラスを作成するために使用されます。値オブジェクトは、関連する属性を一緒に格納するために使用されます。 ここに例があります : Point 2つの座標(x &y 。 このデータはさまざまな方法で表すことができます。 いいね : 配列[10, 20] ハッシュ{ x: 10, y: 10 } オブジェクトPoint.new(10, 20) 複数のPointを使用する場合 、オブジェクトアプローチを使用することをお勧めします。 しかし… これら2つの値を一緒に格納するた