1

別の変数の名前で変数を使用するにはどうすればよいですか? たとえば、次のような配列がいくつかあります。

g_OS = ['Mac', 'Linux', 'Win']
g_Mac = ['Lion', 'Tiger', 'Jaguar']
g_Linux = ['Slackware', 'RedHat', 'Caldera']
g_Win = [ .... ]

これを行うと: g_OS.each {|OS| puts "g_#{OS}[0]"}'g_Mac[0]'または'g_Linux'リテラル文字列として出力されます。しかし、私が実際に望んでいるのは、配列の最初の要素を取得することです: g_Mac. どうやってやるの?

4

2 に答える 2

6

一般に、データを再配置するだけの方が簡単です。例えばこんな感じ。

g_OS = {
  'Mac' => ['Lion', 'Tiger', 'Jaguar'],
  'Linux' => ['Slackware', 'RedHat', 'Caldera'], 
  'Win' => ['Chicago', 'Daytona', 'Longhorn']
}

# list just the OSes

g_OS.keys # => ["Mac", "Linux", "Win"]

# only linuxes
g_OS['Linux'] # => ["Slackware", "RedHat", "Caldera"]

あなたが求めたことを正確に行うことは技術的に可能ですが、私はそれをしないことをお勧めします (したがって、コードを投稿しません)。あなたは新しいように見えるので、学ぶことがたくさんあります。間違った方法を学ばないでください。

于 2013-10-12T11:14:40.790 に答える