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

Ruby文字列のフォーマット

Rubyで文字列をフォーマットする方法について話しましょう。

なぜ文字列をフォーマットしたいのですか?数値が10未満であっても、先行ゼロを使用したり(例: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 ここでは、小数点以下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を含む数値をパディングします:%0<ゼロの数>d

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

Output => The number is 0020

このRuby文字列形式を使用することもできます テキストの整列された列を作成するためのトリック。この効果を得るには、0をダッシュ​​に置き換えます。

Ruby文字列のフォーマット

または、.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の文字列フォーマット 本当に簡単です。すべては、利用可能なさまざまなフォーマット指定子を理解することです。

出力フォーマットの世界へのこの速い旅行を楽しんでいただけたと思います!ニュースレターを購読することを忘れないでください。そうすれば、よりすばらしいコンテンツを送信できます🙂


  1. 文字列JavaScriptでスペースの数を検索する

    スペースを含む文字列を受け取るJavaScript関数を作成する必要があります。関数は、その文字列に存在するスペースの数を単純にカウントする必要があります。 例- 入力文字列が-の場合 const str = 'this is a string'; その場合、出力は-になります。 const output = 4; 例 const str = 'this is a string'; const countSpaces = (str = '') => {    let count = 0;    

  2. Python文字列フォーマットを比較する方法:%と.format?

    %は、変数またはタプルのいずれかを取ることができます。したがって、何をしたいかについて非常に明確にする必要があります。たとえば、-のようにフォーマットしようとした場合 例 my_tuple = (1, 2, 3) "My tuple: %s" % my_tuple You'd expect it to give the output: My tuple: (1, 2, 3) 出力 ただし、TypeErrorがスローされます。常に印刷されることを保証するには、次のように単一引数のタプルとして提供する必要があります- "hi there %s" %