【问题标题】:Creating an array in smlnj在 smlnj 中创建一个数组
【发布时间】:2017-10-30 08:39:25
【问题描述】:

好的,让我先说我是Standard ML 的超级新手。从字面上看,我才刚刚开始用这种语言编程。老实说,我不打算深入研究这种语言。我只需要完成一项一次性任务并继续前进。

我正在尝试解决如何制作一个简单的数组。信不信由你,文档让我感到困惑,以至于我无法制作一个简单的数组。

所以似乎为了在 sml New Jersey 中做一个数组...我需要分配 maxLen 变量。我现在只是将其分配为 24,但也许我这样做的方式不起作用。

假设我正在尝试创建一个包含 12 个点的数组,初始值为 5。

val maxLen = 24;  (*assigning maxLen 24 as the largest array possible*)

array (12, 5);   (*Creating an Array of 12 spots with value of 5 for each*)

我在这里缺少什么?

【问题讨论】:

    标签: arrays sml smlnj


    【解决方案1】:
    val a = Array.array (12, 5)
    

    工作得很好。你不需要“设置”Array.maxLen,你也不需要。这只是一个特定于实现的常量,告诉您执行系统上数组的最大大小是多少。

    另外,请注意您不能增加数组。数组是一种基本数据类型,一旦创建就具有固定大小。如果您需要动态增长,那么您需要围绕它构建一个动态数据结构(或使用提供它的库)。

    【讨论】:

    • 非常感谢!!我想我把事情复杂化了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 2019-07-18
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多