Printing 原始实现中的打印标准

Printing 原始实现中的打印标准,printing,newline,standards,Printing,Newline,Standards,我正在制作我的小玩具堆栈语言,并围绕字节码的核心概念进行转换,就像JVM一样 我想添加的操作码之一是一个print\u var函数,它将打印局部变量的值。我的问题是,我应该使用哪种打印功能println(),还是print() 实际上,这不是使用什么的问题,而是这个过程的实际应用标准是什么?系统的设计是简单地print(),然后围绕print()函数构建一个println()函数,还是两者都是手拉手来做独立的事情 我看一下Java的PrintWriter源代码,它用于System.out.pri

我正在制作我的小玩具堆栈语言,并围绕字节码的核心概念进行转换,就像JVM一样

我想添加的操作码之一是一个
print\u var
函数,它将打印局部变量的值。我的问题是,我应该使用哪种打印功能
println()
,还是
print()

实际上,这不是使用什么的问题,而是这个过程的实际应用标准是什么?系统的设计是简单地
print()
,然后围绕
print()
函数构建一个
println()
函数,还是两者都是手拉手来做独立的事情

我看一下Java的
PrintWriter
源代码,它用于
System.out.println()
,其定义如下:

public void println(boolean x) {
    synchronized (lock) {
        print(x);
        println();
    }
}
显然,Java创建了一个
print()
函数,并基于它创建了
println()
。许多其他主要语言都是这样的吗?

让我们看看:

  • C:没有打印
  • C++:has--no println
  • C#:has(和Write)
  • 哈斯凯尔:哈斯和普斯特林
长话短说:两者都可以找到。因此,只需实现您认为最适合您的需求的方法,即通常的方法。换言之:只需看看您已经/想要实现的其他操作码,并评估它们是否更为“方便”(因此您将使用print和println),或者它们是否专注于提供“基本构建块”(那么您可能只提供print)

除此之外:请记住,提供println()还有一个主要优势:用户不必担心不同操作系统的不同“新行”字符。

让我们看看:

  • C:没有打印
  • C++:has--no println
  • C#:has(和Write)
  • 哈斯凯尔:哈斯和普斯特林
长话短说:两者都可以找到。因此,只需实现您认为最适合您的需求的方法,即通常的方法。换言之:只需看看您已经/想要实现的其他操作码,并评估它们是否更为“方便”(因此您将使用print和println),或者它们是否专注于提供“基本构建块”(那么您可能只提供print)


除此之外:请记住,提供println()有一个主要优势:用户不需要担心不同操作系统的不同“新行”字符。

@GhostCat没问题。我通常要等几天才能得到好的答案,但我不小心把你忘得一干二净。对不起!从那时起,我已经实现了
print
printLn
,我对这个决定相当满意。谢谢你!。非常欢迎:-)@GhostCat没问题。我通常要等几天才能得到好的答案,但我不小心把你忘得一干二净。对不起!从那时起,我已经实现了
print
printLn
,我对这个决定相当满意。谢谢你!。非常欢迎:-)