Sml 打印ASCII表

Sml 打印ASCII表,sml,smlnj,Sml,Smlnj,所以我用C写了这段代码来打印ASCII表,但是我被告知要使用SML来完成这个特定的任务 以下是我当前的C代码: // Program to print ASCII table. #include <stdio.h> int main() { unsigned char count; for(count=32; count< 255; count+=1) { printf(" %3d - %c",count,coun

所以我用C写了这段代码来打印ASCII表,但是我被告知要使用SML来完成这个特定的任务

以下是我当前的C代码:

// Program to print ASCII table.

#include <stdio.h>
int main()
{
    unsigned char count;
    for(count=32; count< 255; count+=1)
    {
        printf("  %3d - %c",count,count);
        if(count % 6==0)
            printf("\n");
    }
    return 0;
}
//打印ASCII表的程序。
#包括
int main()
{
无符号字符计数;
对于(计数=32;计数<255;计数+=1)
{
printf(“%3d-%c”,计数,计数);
如果(计数%6==0)
printf(“\n”);
}
返回0;
}
我将如何在SML中执行此操作?我搜索了互联网,但没有运气

我将如何在SML中执行此操作

首先,您将学习SML

  • 而不是(count=32;count<255;count+=1)
  • 在SML中,
    printf
    被认为是一个变量,所以可能要坚持使用
    print
  • 您可以使用
    str
    chr
    代替
    %c
    ,例如
    str(chr 65)=“A”
  • 你得到的不是
    %03d
    ,而是
    Int.toString
    ,但是你必须自己制作
    pad
    功能,耶
  • 要将函数
    f
    应用于列表的每个元素并放弃返回值(如果您只对
    f
    的副作用感兴趣,这是有意义的),可以使用
    list.app
    而不是
    list.map
入门模板包括:

val table = List.tabulate (256 - 32, fn count => str (chr (count + 32)))
val _ = List.app (fn cstr => print "Ceci n'est pas une ASCII table\n") table

试着做出合理的尝试来解决这项任务,并为您自己的StackOverflow问题提供答案。

所以这不是免费的代码翻译服务。一旦您自己努力解决问题并遇到困难,我们非常乐意为您提供帮助。当这种情况发生时,您可以解释您遇到的问题,包括原始代码和您转换代码的努力,并提出与该代码相关的特定问题,我们可以尝试提供帮助。如果你在开始发帖之前花些时间阅读网页,了解网站的工作原理,你会发现你在这里的体验会更好。