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

루비 문자열 포맷

루비에서 문자열 형식을 지정하는 방법에 대해 이야기해 보겠습니다.

문자열 형식을 지정하려는 이유는 무엇입니까? 숫자가 10 미만인 경우에도 선행 0을 사용하거나(예:01, 02, 03...) 콘솔 출력을 열 형식으로 멋지게 지정하는 것과 같은 작업을 수행할 수 있습니다.

다른 언어에서는 printf를 사용할 수 있습니다. 함수를 사용하여 문자열 형식을 지정하고 C를 사용한 적이 있다면 익숙할 것입니다. printf를 사용하려면 형식 지정자 목록과 변수 또는 값 목록을 정의해야 합니다.

Ruby 문자열 포맷 시작하기

sprintf 동안 Ruby에서도 사용할 수 있습니다. 이 게시물에서는 좀 더 관용적인 방법을 사용할 것입니다.

예는 다음과 같습니다.

time    = 5
message = "Processing of the data has finished in %d seconds" % [time]

puts message

Output => "Processing of the data has finished in 5 seconds"

이 예에서 %d 형식 지정자입니다. (사용 가능한 지정자의 목록은 다음과 같습니다.) 및 시간 형식을 지정하려는 변수입니다. %d 형식은 정수만 제공합니다.

부동 소수점 숫자를 표시하려면 %f를 사용해야 합니다. . 다음과 같이 소수점 이하 자릿수를 지정할 수 있습니다. %0.2f .

2 여기서 소수점 이하 두 자리만 유지하려는 것을 나타냅니다.

예는 다음과 같습니다.

score = 78.5431
puts "The average is %0.2f" % [score]

Output => The average is 78.54

숫자는 반올림됩니다. 예를 들어 78.549를 사용한 경우 마지막 예에서는 78.55가 인쇄되었을 것입니다. .

변환 및 패딩

10진수를 변환하여 16진수로 인쇄할 수 있습니다. %x 사용 형식:

puts "122 in HEX is %x" % [122]

Output => 122 in HEX is 7a

문자열 채우기:

숫자를 원하는 만큼 채우려면 다음 형식을 사용하세요. %0<숫자>d

puts "The number is %04d" % [20]

Output => The number is 0020

루비 문자열 형식을 사용할 수도 있습니다. 정렬된 텍스트 열을 만드는 트릭. 이 효과를 얻으려면 0을 대시로 바꾸세요.

루비 문자열 포맷

또는 .ljust 및 .rjust를 사용할 수 있습니다. 동일한 작업을 수행하기 위해 String 클래스의 메서드를 사용합니다.

:

names_with_ages = [["john", 20], ["peter", 30], ["david", 40], ["angel", 24]]

names_with_ages.each { |name, age| puts name.ljust(10) + age.to_s }

# Prints the following table

john      20
david     30
peter     40
angel     24

결론

ruby &rails 문자열 형식에서 본 것처럼 정말 쉽습니다. 사용 가능한 다양한 형식 지정자를 이해해야 합니다.

출력 형식의 세계로의 빠른 여행을 즐겼기를 바랍니다! 더 좋은 콘텐츠를 보내드릴 수 있도록 제 뉴스레터를 구독하는 것을 잊지 마세요 🙂