A 回答 (4件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
配列のarrayを走査には、
array = ["abc","def"]
array.each { |i|
puts i
}
のように、eachを使うのが一般的だと思います。(上記は配列の各要素を表示するもの)
rubyでは、for構文より、eachメソッドの方をよく使います。
ただ、質問のように、走査中の配列に、要素を追加するのは、どの言語でも止めたほうがいいです。
追加した要素がループ中にどうなるのか、予想のつかないことが起きることが多いです。
質問のように、配列のn番目に要素を追加したいのであれば、
array.insert(2,"gh")
のようにinsertを使うのがよいと思います。
操作中の配列に要素を追加したいような場合は、そのまま追加するのではなく、別の配列を用意して追加してもよいでしょう。
rubyのArrayクラスの詳細をより知りたい場合はリファレンスマニュアルを参照してください。
http://www.ruby-lang.org/ja/man/html/Array.html
No.2
- 回答日時:
配列を0番目の要素から順に見ていくというのなら、以下で如何でしょうか。
array = %w(a b c d e)
p array # => ["a", "b", "c", "d", "e"]
for i in (0...array.size)
if i == 3
array[3] << 'z'
end
end
p array # => ["a", "b", "c", "dz", "e"]
array.sizeで配列の要素数を取得して
(0...array.size)で、0番目から要素数-1までの範囲という意味になります。
No.3
- 回答日時:
=begin
ANo.1で他の方が指摘されている通り、次の2点を注意事項として挙げておきます。
・Rubyを使う際にはforよりeach系ブロック構文を利用する。
・配列操作中に対象配列の破壊的操作は避ける
>i番目のループまで、配列を走査する
以降はこれに絞った上でいくつか書いてみます。
尚、動作確認環境は Ruby1.8.7 です。
=end
array = %w[a b c d e]
goal = 3 # これが「i」です。
array.each_with_index do |value, index|
break unless index < goal
puts value
end
puts '-----------'
goal.times do |index|
puts array[index]
end
puts '-----------'
# RubyのArrayに於けるindexは0から始まるため、今回の様な「i番目」にuptoは向かない
# (「indexがiまで」であれば、こちらの方が良い)
0.upto goal do |index|
puts array[index]
end
No.4
- 回答日時:
array = [1,2,3,4,5]
array.each_with_index do |value,index|
if index == 1 then
puts value # => 2
end
end
indexが0からスタートするのに注意
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 型が一致しませんとエラー 6 2023/07/06 20:14
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbsでテキストファイル内の文字...
-
VBAのWorksheetFunctionの引数...
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
エクセルへのデータの貼付時に...
-
数値を浮動小数点32bitHEXコー...
-
○桁にある数値を取得する VB.N...
-
VBSで特定の文字列が含まれる場...
-
CSVファイルをExcelで開く!
-
rubyによる2次元配列形式のデー...
-
COLUMN(1:1)の意味を教え...
-
VB6で配列を文字列に変換する方...
-
in_addrからchar型の文字列の変換
-
VBAで配列に文字列が入らない?
-
【エクセル】 関数による電子...
-
copyRecordsetの数値16桁以上に...
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
数字の位ごとの値を表示するプ...
-
VisualStudio2022でC言語プログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
エクセルへのデータの貼付時に...
-
初心者が簡単なPowerShellスク...
-
vbsでテキストファイル内の文字...
-
初心者プログラミング
-
VBAのWorksheetFunctionの引数...
-
エクセル、この関数の意味は?
-
COLUMN(1:1)の意味を教え...
-
VBSで特定の文字列が含まれる場...
-
○桁にある数値を取得する VB.N...
-
VBAで配列に文字列が入らない?
-
【エクセル】 関数による電子...
-
VB6で配列を文字列に変換する方...
-
数値を浮動小数点32bitHEXコー...
-
RichTextBoxの改行を認知してく...
-
VB 配列の内容をファイルに書...
-
複数ディレクトリの監視(VB.NET...
-
VB.NET 2次元配列
-
C#の問題です。 文字列型の配列...
おすすめ情報