~/blog/process-first-and-last-item-differently-in-each-with-index-ruby
Published on

Rubyでhashや配列をeach_with_indexで最初と最後の処理だけ特別な処理をする

438文字1分で読めます–––
閲覧数
Authors
  • avatar
    Name
    Shou Arisaka nyapp.buzz/shou
    short bio
    Z世代の情報技術者。Next.jsで自作SNSを個人開発中。

Rubyプログラミング言語で、hashや配列をeach_with_indexを使い、最初と最後の処理だけ特別な処理をする方法について紹介します。

例:ハッシュからJSONフォーマットを作りたい。}直前の,を消したい。

h = {:a => "hoge", :b => "fuga", :c => "foo"}

@json = '{'
h.each_with_index do |(k, v), i|
  if i == 0
    # 最初の要素の処理
  end
  if i == h.size - 1
    # 最後の要素の処理
    @json << %("#{k}":"#{v}")
  else
    @json << %("#{k}":"#{v}",)
  end
end
@json << '}'

puts @json #=> {"a":"hoge","b":"fuga","c":"foo"}

この方法は、配列でも使える。 配列の場合は、

|(k, v), i|部分を|e, i|のようにする。

avatar

Shou Arisaka

情報技術者 / Z世代プログラマー / SaaSアプリやSNSを開発
今すぐ話そう!

15歳でWordPressサイトを立ち上げ、ウェブ領域に足を踏み入れる。翌年にはRuby on Railsを用いたマイクロサービス開発に着手し、現在はデジタル庁を支えたNext.jsによるHP作成やSaaS開発のプロジェクトに携わりながら、React.js・Node.js・TypeScriptによるモダンなウェブアプリの個人開発を趣味でも行う。
フロントエンドからバックエンドまで一貫したアジャイルなフルスタック開発を得意とし、ウェブマーケティングや広告デザインも必要に応じて担当、広告運用・SEO対策・データ分析まで行う低コストかつ高品質な顧客体験の提供が好評。
国内外から200万人を超える人々に支えられ、9周年を迎えるITブログ「yuipro」の開発者、デザイナーでありライター。現在ベータ段階の自作SNS「nyapp.buzz」を日本一の国産SNSとするべく奮闘中。

Created with Fabric.js 5.2.4 何かご質問がありますか?