在 smlnj 中创建一个数组
Creating an array in smlnj
好的,让我先说我是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*)
我在这里错过了什么?
val a = Array.array (12, 5)
工作正常。你不需要 "set" Array.maxLen
,你也不可以。这只是一个特定于实现的常量,告诉您执行系统上数组的最大大小是多少。
另外,请注意您不能增长数组。数组是一种基本数据类型,一旦创建就具有固定大小。如果您需要动态增长,那么您需要围绕它构建动态数据结构(或使用提供它的库)。
好的,让我先说我是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*)
我在这里错过了什么?
val a = Array.array (12, 5)
工作正常。你不需要 "set" Array.maxLen
,你也不可以。这只是一个特定于实现的常量,告诉您执行系统上数组的最大大小是多少。
另外,请注意您不能增长数组。数组是一种基本数据类型,一旦创建就具有固定大小。如果您需要动态增长,那么您需要围绕它构建动态数据结构(或使用提供它的库)。