質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Chef

ChefはRuby等で書かれた構成管理ツールです。 システム構築や、運用作業を自動化してくれます。

Q&A

3回答

1427閲覧

配列内の同じ値の羅列をまとめて記載する方法

onigirimogumogu

総合スコア17

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Chef

ChefはRuby等で書かれた構成管理ツールです。 システム構築や、運用作業を自動化してくれます。

0グッド

0クリップ

投稿2016/06/06 06:08

編集2022/01/12 10:55

Chefのpackeageインストールで下記のようにインストールするパッケージの名前は異なりますがバージョンが全く同じものをインストールします。

package 'install' do
package_name [ 'AAA', 'BBB', 'CCC' ]
version [ '1.1', '1.1', '1.1' ]
end

ご覧のようにversionの部分は同じ数字が並んでいるのがかっこ悪いです。
上の例のように3個くらいならいいのですが実際には10近くなりそうなので。

"1.1を3個羅列する”というようなversionの記載をすっきり記載できる方法がございましたらご教示ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

Ruby

1version [ * Array.new(10,"1.1") ] 2または 3version [ * ["1.1"]*10 ]

でしょうか。

投稿2016/06/06 14:15

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

onigirimogumogu

2016/06/21 01:14

これではできなかったです。Rubyだけならうまくいくかもしれませんが、Chrfが絡んでいるからうまく動作しないのかもしれません。
guest

0

配列の * や + 演算をつかうとよいと思います。

$ irb irb(main):001:0> [1.1] * 3 => [1.1, 1.1, 1.1] irb(main):002:0> [1.1] * 3 + [0.9, 2.1] => [1.1, 1.1, 1.1, 0.9, 2.1]

投稿2016/06/06 12:39

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

onigirimogumogu

2016/06/21 01:14

これではできなかったです。Rubyだけならうまくいくかもしれませんが、Chrfが絡んでいるからうまく動作しないのかもしれません。
guest

0

1.1 の部分が固定で良いのであれば、

ruby

1version = package_name.map { '1.1' }

もしくは

ruby

1version = ['1.1'] * package_name.length

などなど。

投稿2016/06/06 08:17

thinca

総合スコア1864

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

onigirimogumogu

2016/06/06 08:59 編集

回答ありがとうございます。 すみません。1点修正が。。 package 'install' do package_name [ 'AAA', 'BBB', 'CCC' ] version [ '1.1', '1.1', '1.1' ] end が正しいです。"="の記載は不要でした。 ご教示いただいた上記2点確認しましたがうまく動きませんでした。 上記だとversion部分を無視して最新版のversionがインストールされてしまいました。
thinca

2016/06/06 09:24

package_name は変数ではないのですね。であれば参照できないので、一旦変数に入れておけば良さそうです。 packages = [ 'AAA', 'BBB', 'CCC' ] package_name packages version packages.map { '1.1' }
onigirimogumogu

2016/06/21 01:14

これではできなかったです。Rubyだけならうまくいくかもしれませんが、Chrfが絡んでいるからうまく動作しないのかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問