# 配列の要素の参照方法@ a=[1,3,5,7,9] a.length.times{ |i| print( a[ i ] , "\n" ) } 5.times{ |i| print( a[ i ] , "\n" ) } (0..a.length-1).each{ |i| print( a[ i ] , "\n" ) } # 配列の要素の参照方法A a=[1,3,5,7,9] a.each{ |i| print( i , "\n" ) } [1,3,5,7,9].each{ |i| print( i , "\n" ) } # 配列の要素への代入 name = [ "A" , "B" , "C" , "D" , "E" ] test = [ 85 , 60 , 5, 100 , 50 ] name[ 3 ] = "d" test[ 3 ] = 90 p name p test # 最後の要素への追加 name = [ "A" , "B" , "C" , "D" , "E" ] test = [ 85 , 60 , 5, 100 , 50 ] name[ name.length ] = "F" test[ test.length ] = 70 p name p test # 平均点を求める@ name = [ "A" , "B" , "C" , "D" , "E" ] test = [ 85 , 60 , 5, 100 , 50 ] sum = 0 test.length.times{ |i| sum += test[ i ] } print( "平均点 --> " , sum / test.length ) # 平均点を求めるA name = [ "A" , "B" , "C" , "D" , "E" ] test = [ 85 , 60 , 5, 100 , 50 ] sum = 0 (0..test.length-1).each{ |i| sum += test[ i ] } print( "平均点 --> " , sum / test.length ) # 平均点を求めるB name = [ "A" , "B" , "C" , "D" , "E" ] test = [ 85 , 60 , 5, 100 , 50 ] sum = 0 test.each{ |i| sum += i } print( "平均点 --> " , sum / test.length ) # ローカル変数@ 10.times{ a = 10 } print( a , "\n" ) # ローカル変数A a = 0 10.times{ a = 10 } print( a , "\n" ) # グローバル変数 10.times{ $a = 10 } print( $a , "\n" ) # 二次元配列の宣言@ a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] p a # 二次元配列の要素の参照A a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] p a[ 0 ][ 0 ] p a[ 0 ][ 1 ] p a[ 0 ][ 2 ] p a[ 1 ][ 0 ] p a[ 1 ][ 1 ] p a[ 1 ][ 2 ] p a[ 2 ][ 0 ] p a[ 2 ][ 1 ] p a[ 2 ][ 2 ] # 二次元配列の要素の参照C a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] p a[ 0 ] p a[ 1 ] p a[ 2 ] # 二次元配列の要素の参照D a=[ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] p a.length p a[ 0 ].length p a[ 1 ].length p a[ 2 ].length # 二次元配列の要素の参照D' a=[ [ 1 ] , [ 4 , 5 ] , [ 7 , 8 , 9 ] ] p a.length p a[ 0 ].length p a[ 1 ].length p a[ 2 ].length # 二次元配列の要素の参照D'' a=[ [ 1 ] , [ 4 , 5 ] , [ 7 , 8 , 9 ] ] p a[ 0 ][ 0 ] p a[ 0 ][ 1 ] p a[ 0 ][ 2 ] p a[ 1 ][ 0 ] p a[ 1 ][ 1 ] p a[ 1 ][ 2 ] p a[ 2 ][ 0 ] p a[ 2 ][ 1 ] p a[ 2 ][ 2 ] # 二次元配列の要素の参照D''' a=[ [ 1 , 2 , 3 , 4] , [ 5 , 6 , 7 ] , [ 8 , 9 ] , [ 10 ] ] p a.length p a[ 0 ].length p a[ 1 ].length p a[ 2 ].length p a[ 3 ].length # 二次元配列の要素への代入 a = Array.new( 4 ) a[ 0 ] = Array.new( 3 ) a[ 1 ] = Array.new( 3 ) a[ 2 ] = Array.new( 3 ) a[ 3 ] = Array.new( 3 ) a[ 0 ][ 0 ] = 1 a[ 0 ][ 1 ] = 2 a[ 0 ][ 2 ] = 3 a[ 1 ][ 0 ] = 4 a[ 1 ][ 1 ] = 5 a[ 1 ][ 2 ] = 6 a[ 2 ][ 0 ] = 7 a[ 2 ][ 1 ] = 8 a[ 2 ][ 2 ] = 9 a[ 3 ][ 0 ] = 10 a[ 3 ][ 1 ] = 11 a[ 3 ][ 2 ] = 12 p a # 二次元配列の宣言B a = [] a[ 0 ] = [] a[ 0 ][ 0 ] = 1 a[ 0 ][ 1 ] = 2 a[ 0 ][ 2 ] = 3 a[ 1 ] = [] a[ 1 ][ 0 ] = 4 a[ 1 ][ 1 ] = 5 a[ 1 ][ 2 ] = 6 a[ 2 ] = [] a[ 2 ][ 0 ] = 7 a[ 2 ][ 1 ] = 8 a[ 2 ][ 2 ] = 9 a[ 3 ] = [] a[ 3 ][ 0 ] = 10 a[ 3 ][ 1 ] = 11 a[ 3 ][ 2 ] = 12 p a # 二重ループ (0..9).each{ |x| (0..9).each{ |y| z = x*x + y*y print( " x = " , x , " y = " , y , ": z= " , z , "\n" ) } } 10.times{ |x| 10.times{ |y| z = x*x + y*y print( " x = " , x , " y = " , y , ": z= " , z , "\n" ) } } x = 0 while x < 10 do y= 0 while y < 10 do z = x * x + y * y print( " x = " , x , " y = " , y , ": z= " , z , "\n" ) y += 1 end x += 1 end # 二重ループの例@ (1..9).each{ |x| (1..9).each{ |y| printf( " %d×%d=%2d" , x , y , x * y ) } print( "\n" ) } # 二重ループの例A (1..9).each{ |x| (1..9).each{ |y| if x == y then print( "1 " ) else print( "0 " ) end } print( "\n" ) } (1..9).each{ |x| (1..9).each{ |y| if x % 2 == 0 and y % 2 == 0 then print( "1" ) else print( "0" ) end } print( "\n" ) } # 二重ループの例B (1..9).each{ |x| (1..9).each{ |y| if x == (10-y) then print( "1 " ) else print( "0 " ) end } print( "\n" ) } # 二重ループの例B' (1..9).each{ |x| (1..9).each{ |y| if x == y or x == (10-y) then print( "1 " ) else print( "0 " ) end } print( "\n" ) } # 二重ループの例C (1..9).each { |i| (1..i).each { |j| print( j )  }  print ( "\n" ) } # 二重ループの例D (1..9).each { |i| (1..(10-i)).each{ |j| print( j ) } print ( "\n" ) } # 二重ループの例E 11.times { |i| d = Math.sqrt( 100 - i*i ).to_i (1..d).each{ print( " " ) } ((d+1)..10).each{ print( "*" ) } print( "\n" ) } # 二重ループの例F 11.times { |i| d = Math.sqrt( 400 - 4*i*i ).to_i (1..d).each{ print( " " ) } ((d+1)..20).each{ print( "*" ) } print( "\n" ) }