Java 中与 Perl 的菱形运算符 <> 等价的是什么?
我对 Java 非常陌生(这个周末刚刚开始)并且有 Perl 背景。所以我有一个问题:
Java 相当于 Perl Diamond 运算符 (<>)?
那么基本上 Java 相当于什么:
print "What is your name?";
my $name = <>;
print "Hello, $name!";
提前致谢!
对于那些不了解 Perl 的人:
正如所使用的,<>
是 readline(ARGV)
的缩写,其中 ARGV
是一个特殊的文件句柄它表示 STDIN(如果没有参数传递给程序)或作为参数传递给程序的文件内容的串联。 readline
不会删除行终止符。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这将是
new BufferedReader(new InputStreamReader(System.in))
(或new Scanner(System.in)
,具体取决于您的需要)。但请注意,它并不严格等同于perl 的菱形运算符,因为菱形运算符受
$/
的影响。在 Java 中,您必须以不同的方式执行此操作。为了完整起见,
System.in
是一个InputStream
(而且也恰好是 stdin)。That would be
new BufferedReader(new InputStreamReader(System.in))
(ornew Scanner(System.in)
, depending on your needs).Note however that it is not strictly equivalent to perl's diamond operator, since the diamond operator is influenced by
$/
. In Java, you'd have to do that differently.And just for completeness,
System.in
is anInputStream
(and also happens to be stdin).嗯,java 不是一种脚本语言,它是为不同的事情而设计的。
无论如何,java 中的类似代码可能如下所示:
Well, java is not a scripting language and it's designed for different things.
Anyhow, similar code in java might look like this:
我怀疑 Java 是否有一个相当于
<>
的功能不仅仅是读取STDIN
:I doubt there is a Java equivalent as
<>
does more than just read fromSTDIN
: