PHPで書かれた以下の処理、

「配列array_hogeのデータをeach文でループして、配列hogeを作るプログラム」
をRuby、Python、Perlで書いてください。
※配列(array_hoge)の大きさはn個とします。

例:)
$array_hoge[0] = 'hogehoge0'
$array_hoge[1] = 'hogehoge1'
.
.
$array_hoge[99] = 'hogehoge99'
.

<?php

foreach( $array_hoge as $key => $value ){
 $hoge[$key] = $value;
}

var_dump($hoge);

?>

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/10/06 15:35:44
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:iwadon No.2

回答回数60ベストアンサー獲得回数13

ポイント45pt

質問の「配列」がRubyでいうところのArray(配列)かHash(連想配列)か決めかねましたので、両者の組み合わせをひと通り書きました。

# array_hogeもhogeもArrayの場合
n = 100                                                                                                                         
array_hoge = (0 ... n).map { |i| "hogehoge#{i}" }

hoge = []
array_hoge.each { |v| hoge << v }
p hoge
# array_hogeもhogeもHashの場合
n = 100
array_hoge = {}
n.times { |i| array_hoge[i] = "hogehoge#{i}" }

hoge = {}
array_hoge.each { |k, v| hoge[k] = v }
p hoge
# array_hogeはArray、hogeはHashの場合
n = 100
array_hoge = (0 ... n).map { |i| "hogehoge#{i}" }

hoge = {}
array_hoge.each_with_index { |v, i| hoge[i] = v }
p hoge
# array_hogeはHash、hogeはArrayの場合
n = 100
array_hoge = {}
n.times {|i| array_hoge[i] = "hogehoge#{i}"}

hoge = []
array_hoge.keys.sort.each {|k| hoge << array_hoge[k]}
p hoge
id:is0me

Rubyについては満足の回答です。

ありがとうございます。

2010/10/06 10:28:29

その他の回答3件)

id:nuna No.1

回答回数32ベストアンサー獲得回数11

ポイント15pt

Rubyの場合だけ。

n = 100

ary = (0..n).map{|i|"hogehoge#{i}"}

p ary

id:is0me

ありがとうございます。

2010/10/06 10:27:16
id:iwadon No.2

回答回数60ベストアンサー獲得回数13ここでベストアンサー

ポイント45pt

質問の「配列」がRubyでいうところのArray(配列)かHash(連想配列)か決めかねましたので、両者の組み合わせをひと通り書きました。

# array_hogeもhogeもArrayの場合
n = 100                                                                                                                         
array_hoge = (0 ... n).map { |i| "hogehoge#{i}" }

hoge = []
array_hoge.each { |v| hoge << v }
p hoge
# array_hogeもhogeもHashの場合
n = 100
array_hoge = {}
n.times { |i| array_hoge[i] = "hogehoge#{i}" }

hoge = {}
array_hoge.each { |k, v| hoge[k] = v }
p hoge
# array_hogeはArray、hogeはHashの場合
n = 100
array_hoge = (0 ... n).map { |i| "hogehoge#{i}" }

hoge = {}
array_hoge.each_with_index { |v, i| hoge[i] = v }
p hoge
# array_hogeはHash、hogeはArrayの場合
n = 100
array_hoge = {}
n.times {|i| array_hoge[i] = "hogehoge#{i}"}

hoge = []
array_hoge.keys.sort.each {|k| hoge << array_hoge[k]}
p hoge
id:is0me

Rubyについては満足の回答です。

ありがとうございます。

2010/10/06 10:28:29
id:Lhankor_Mhy No.3

回答回数814ベストアンサー獲得回数232

ポイント15pt

配列から配列でいいのですよね?

Pythonの場合

#n=100
#array_hoge = ['hogehoge%s' % x for x in range(n)]

hoge =[x for x in array_hoge]
#print hoge
id:is0me

ありがとうございます。

2010/10/06 15:34:48
id:watarum No.4

回答回数63ベストアンサー獲得回数16

ポイント15pt
#!perl
push @hoge, $_ foreach @array_hoge ;
id:is0me

ありがとうございます。

2010/10/06 15:34:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません