簡體   English   中英

Ruby-如何創建繪圖點

[英]Ruby - How to create plot points

我是Ruby的新手,我試圖通過傳遞兩個值(一個代表高度)和另一個(代表寬度)來創建本質上是一張圖形表。 創建后,我希望能夠分別調用圖中的每個點。 我知道我需要創建一個散列和或數組來存儲圖形上的每個點,但是我不確定如何迭代每個值。

例如

def graph_area(x, y)
    x = 4
    y = 2
    # Given the above info my graph would have 8 points
    # However I'm not sure how to make create an array that returns
    # {[x1, y1] => 1, [x1, y2] => 2, [x2, y1] => 3, [x2, y2]...} etc

    # output
    #     1234
    #     5678
end

這種方法是否可行?

您需要創建數組數組:

def graph_area(x, y)
  counter = 0
  Array.new(y) { Array.new(x) { counter += 1 }}    
end

board = graph_area(4,2)
puts board.map(&:join)

#=>
# 1234
# 5678

您可以使用(0-索引)訪問特定字段:

board[0][0] #=> 1

這是使用each_slice一種方法:

def graph_area(x, y)
  (1..x*y).each_slice(x).to_a
end

area = graph_area(4, 2)
# => [[1,2,3,4],[5,6,7,8]]
area[0][0]
# => 1
area[1][2]
# => 7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM