Эквивалент raw_input() в Genie/ Vala?
Я пытаюсь создать простую программу Hello World, используя Genie, но я хотел иметь возможность вводить некоторые данные на терминале. Моя цель состоит в том, чтобы повторить следующий код Python в Genie:
#!/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)
Что я делаю неправильно?
Благодарю.
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 (), как это можно сделать с помощью raw_input () в python. Было бы неплохо знать это, также я не знаю, как найти информацию о конкретных функциях и как их импортировать. Я пришел из R и там я могу использовать? Function (), которая дала бы мне небольшую инструкцию об этом. Есть ли что-нибудь похожее на Genie/Vala?
Вы можете написать свой собственный 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 + "!"