Juliaで実行中のスクリプトからユーザー入力をリクエストするにはどうすればよいですか? MATLABでは、次のようにします。
result = input(Prompt)
ありがとう
最も簡単なことはreadline(stdin)
です。それはあなたが探しているものですか?
@StefanKarpinskiが指摘するように、それは将来的に対処される予定ですが、これは当面私がすることです:
Julia> @doc """
input(Prompt::String="")::String
Read a string from STDIN. The trailing newline is stripped.
The Prompt string, if given, is printed to standard output without a
trailing newline before reading input.
""" ->
function input(Prompt::String="")::String
print(Prompt)
return chomp(readline())
end
input (generic function with 2 methods)
Julia> x = parse(Int, input());
42
Julia> typeof(ans)
Int64
Julia> name = input("What is your name? ");
What is your name? Ismael
Julia> typeof(name)
String
help?> input
search: input
input(Prompt::String="")::String
Read a string from STDIN. The trailing newline is stripped.
The Prompt string, if given, is printed to standard output without a trailing newline before reading input.
Julia>
指定された回答が期待されるタイプと一致することを確認する関数:
関数定義:
function getUserInput(T=String,msg="")
print("$msg ")
if T == String
return readline()
else
try
return parse(T,readline())
catch
println("Sorry, I could not interpret your answer. Please try again")
getUserInput(T,msg)
end
end
end
関数呼び出し(使用法):
sentence = getUserInput(String,"Write a sentence:");
n = getUserInput(Int64,"Write a number:");