Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

Ruby에서 Heredoc을 사용하는 방법

이단이란 무엇입니까?

heredoc은 원래 들여쓰기 및 서식을 유지하면서 여러 줄 문자열을 정의하는 방법입니다. .

SQL 또는 HTML과 같은 코드 스니펫을 삽입하는 데 사용됩니다.

예시 :

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

이 구문을 사용하여 heredoc을 정의합니다. 루비에서.

<<- 기호로 시작합니다. , 이 heredoc의 이름을 나타내는 단어, heredoc 내용, 다음 줄에 해당 단어로 heredoc을 닫습니다.

이를 수행하는 또 다른 방법은 %Q를 사용하는 것입니다. :

query = %Q(

  Article about heredocs

)

이 문자열의 시작과 끝에 추가 줄 바꿈이 표시됩니다. heredoc(또는 strip 호출 방법)이 해결됩니다.

다음은 뒤에 줄바꿈이 없는 Ruby heredoc입니다. :

query = <<-HTML.chomp

  Article about heredocs

HTML

Ruby Heredoc 보간

heredoc에서 문자열 보간을 사용할 수 있는지 궁금하시다면...

대답은 예입니다!

:

type  = "healthy"
table = "food"

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

heredoc 이름을 작은따옴표로 묶어 보간을 비활성화할 수 있습니다.

좋아요 :

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

루비 스퀴글리 헤레독

모든 줄의 시작 부분에서 추가 들여쓰기를 제거하려면 어떻게 해야 합니까?

이것이 바로 구불구불한 이단입니다. 를 위한 것입니다.

Ruby 2.3에 도입된 squiggly heredoc은 추가 들여쓰기를 제거합니다.

:

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에서 heredocs를 사용하는 방법을 배웠습니다. 이것은 코드에 대한 테스트를 작성하거나 파일을 읽지 않고도 사용할 수 있는 작은 비트의 데이터에 유용할 수 있습니다.

읽어주셔서 감사합니다!