配列の美学(2)

Human Resocia Co.,Ltd.

2015-05-12 15:00

ヒューマンリソシア株式会社はコラム「配列の美学(2)」を公開しました。
###

Arrayクラスのメソッド
Arrayクラスのメソッドはいくつもありますが、非常に便利なものが沢山あります。例えば、「injectメソッド」はその典型ではないでしょうか。例えば、1から100までの合計を計算したいとします。プログラムの条件として配列を利用することにすると、普通の言語では以下のようなプログラムになると思います。配列を初期化して、eachメソッドで配列に順次アクセスして合計を表示しています。

リスト1

1 # -*- coding:utf-8 -*-
2
3 n=1
4 numbers = Array.new()
5 while ( n <= 100 ) do
6   numbers << n
7   n += 1
8 end
9
10 sum = 0
11 numbers.each do |n|
12   sum += n
13 end
14
15 puts sum

injectメソッド
「injectメソッド」を利用すれば、リスト1の10行目から13行目は1行で済むのです。

リスト2(1行目から9行目はリスト1と同様)

10 puts numbers.inject(:+)

更に、配列の表現方法を利用すると1から100まで合計の計算は実は1行で済みます。

リスト3(1から2行目はリストと同様)

3 puts (1..100).inject(:+)

実に簡単ですね。「injectメソッド」は畳み込み処理を行います。畳込み処理とは、リスト1の10行目から13行目のような処理を言いますが、詳しくは、Rubyのリファレンス・マニュアル( (リンク ») )のinjectメソッドの説明を御覧ください。

この続きは以下をご覧ください
(リンク »)
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

【企業の皆様へ】企業情報を掲載・登録するには?

御社の企業情報・プレスリリース・イベント情報・製品情報などを登録するには、企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。

ホワイトペーパー

新着

ランキング

  1. ビジネスアプリケーション

    AI導入の成否を左右するアーキテクチャ設計とは

  2. セキュリティ

    サイバーリスクは経営の最重要課題へ。取締役会に求められるインシデント対応の実践ガイド

  3. ビジネスアプリケーション

    なぜAIは定着しないのか? 全社活用を阻む3つの壁を突破し、業務の中で自然に動く仕組みを作るには

  4. ビジネスアプリケーション

    AI 人材育成を単なる研修で終わらせない--事業を動かす AI スキル構築の 5 つのステップ

  5. 経営

    8 割超の組織が“インフラの限界”に直面──エージェント型 AI 時代の新たな基準とは

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]