将数组的内容转换为 int

发布于 2024-12-14 05:41:32 字数 453 浏览 0 评论 0 原文

我需要读入一个包含数字列表的文件。

此代码读取文件并将其放入二维数组中。现在我需要获取数组中所有数字的平均值,但我需要将数组的内容更改为 int。有什么想法可以将 to_i 方法放在哪里吗?

Class Terrain
    def initialize file_name
        @input = IO.readlines(file_name) #read in file
        @size = @input[0].to_i
        @land = [@size]

        x = 1
        while x <= @size
          @land << @input[x].split(/\s/)
          x += 1
        end
        #puts @land
    end
end

I need to read in a file of which contains a list of numbers.

This code reads in the file and puts it into a 2d array. Now I need to get the average of all the numbers in my array but I need to change the contents of the array to int. Any ideas where to put the to_i method?

Class Terrain
    def initialize file_name
        @input = IO.readlines(file_name) #read in file
        @size = @input[0].to_i
        @land = [@size]

        x = 1
        while x <= @size
          @land << @input[x].split(/\s/)
          x += 1
        end
        #puts @land
    end
end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南薇 2024-12-21 05:41:32

只需将数组映射到整数即可:

@land << @input[x].split(/\s/).map(&:to_i)

旁注

如果您想获得一行的平均值,可以执行以下操作:

values = @input[x].split(/\s/).map(&:to_i)
@land << values.inject(0.0) {|sum, item| sum + item} / values.size

或使用以下内容,如 Marc-André 在评论中善意地指出:

values = @input[x].split(/\s/).map(&:to_i)
@land << values.inject(0.0, :+) / values.size

Just map your array to integers:

@land << @input[x].split(/\s/).map(&:to_i)

side note

If you want to get the average of a line, you can do the following:

values = @input[x].split(/\s/).map(&:to_i)
@land << values.inject(0.0) {|sum, item| sum + item} / values.size

or use the following, as Marc-André kindly pointed out in the comments:

values = @input[x].split(/\s/).map(&:to_i)
@land << values.inject(0.0, :+) / values.size
爱要勇敢去追 2024-12-21 05:41:32

你试过吗

@land << @input[x].split(/\s/).strip.to_i

did you try

@land << @input[x].split(/\s/).strip.to_i
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文