配列の各要素を変数のように使いたいと思い、
timesメソッド内で定めたインスタンス変数@b_iを、timesメソッド外で利用しようとしました。
ここで出力したいのは**@f_(任意の数値)**なのですが、これはインスタンス変数ではないと気づきました。(下記)
そこで、配列の各要素を変数のように利用するにはどのような方法があるのでしょうか?
(実際に@f_0を出力しようとした結果**@f_0は定めてないためnil** が出力されました。インスタンス変数に定義したのは**@f_i**であり、@f_0には別途代入が必要)
n = gets.chomp.to_i d = [] n.times do |i| @b_i,@f_i = gets.chomp.split(" ").map(&:to_i) d[i] = [@b_i,@f_i] puts @f_0 end p d puts @f_0 p @f_0 #=> # 2 # 10 2 # # この行に変数 f_0 を出力したい # 78 9 # # この行に変数 f_0 を出力したい # [[10, 2], [78, 9]] # # この行に変数 f_0 を出力したい # 9 # @f_i (@f_iの戻り値) # nil # @f_0 = nil
timesメソッド外で利用する一例
# ary =[ [ [ [b_0 , f_0] , [b_1 , f_0] , [b_2 , f_2] . . . for f_i in .. do ... for b_i in .. do ... end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/29 11:14
2018/09/29 11:19