我正在尝试使用Genie创建一个简单的Hello World程序,但我希望能够在终端上输入一些输入。我的目标是在Genie中重复以下python代码:
#!/usr/bin/env python
print 'Hello. I am a python program.'
name = raw_input("What is your name? ")
print "Hello there, " + name + "!"
到目前为止,我所做的是;
[indent=4]
uses System
init
print "Hello. I am a python program."
var name = Console.ReadLine("What is your name? ")
print "Hello there, " + name + "!"
但是我得到了一些错误,可能是因为我不知道语言,这里是错误:
hw.gs:4.5-4.10: error: The namespace name `System' could not be found
System
^^^^^^
Compilation failed: 1 error(s), 0 warning(s)
hw.gs:3.6-3.11: error: The namespace name `System' could not be found
uses System
^^^^^^
Compilation failed: 1 error(s), 0 warning(s)
我做错了什么?
感谢。
答案 0 :(得分:2)
BigOldTree给了我一个建议,实际上已经成功了。以下是Geanie中代码的样子:
[indent=4]
init
print "Hello. I am a python program."
print "What's your name?"
var name = stdin.read_line()
print "Hello there, " + name + "!"
我不知道是否可以将参数发送到stdin.read_line(),就像在python中使用raw_input()一样。很高兴知道,我也不知道如何找到有关特定功能的信息以及如何导入它们。我来自R,在那里我可以使用?function(),它会给我一些关于它的指令。 Genie / Vala上有类似的东西吗?
答案 1 :(得分:2)
如果您愿意,可以编写自己的raw_input
函数:
[indent=4]
def raw_input (query : string? = null) : string?
if (query != null)
stdout.printf ("%s\n", query)
return stdin.read_line ()
init
print "Hello. I am a python program."
var name = raw_input ("What's your name?")
print "Hello there, " + name + "!"