LoginSignup
0
0

Ruby芸160チャレンジ(#15)文章の大文字化・タイトルケース化

Last updated at Posted at 2023-12-14

この記事は何

shellgei160を通じて言語習得 Advent Calendar 2023に参加しています。

書籍「シェル芸ワンライナー160本ノック」の例題をRubyで解いてみて、Rubyの学習に役立てようとするものです。

例題はこちらのリポジトリで公開されているものに限ります。
https://github.com/shellgei/shellgei160

実行環境など

  • Docker image: ruby:3.0.2
  • 上記リポジトリをクローンした上で、リポジトリのルートディレクトリ直下にanswer-rubyディレクトリを作り、その中に解答となるファイルを作成していきます。

今回のテーマ

小問が2個あります。

小問1$ echo I am a perfect human | (read a; echo ${a^^})
小問2$ echo pen-pineapple-apple-pen | (IFS=-; read -a w; echo "${w[*]^}")

1.は文字を全て大文字(^^)に、2.は半角ハイフン区切りで単語を読み出して、単語の先頭だけ大文字に変更します。

15_1.rb
raw = 'I am a perfect human.'
puts raw.upcase
15_2.rb
raw = 'pen-pineapple-apple-pen'
puts raw.split('-').map(&:capitalize).join(' ')

所感

  • 2.は、言語によってはタイトルケースに変換する関数が標準ライブラリに含まれるが、Rubyには無さそう? 単語ごとにcapitalizeしておく。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0