Эквивалент 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 + "!"
Другие вопросы по тегам