-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
bugout of sync between the code and the docs; something that should be fixed in the near futureout of sync between the code and the docs; something that should be fixed in the near future
Description
Describe the bug
+type (+input) is an experimental feature and Javascript and C/C++ don't support them because the interpreters don't disable the echoing.
But these languages could still use +type if the example that uses +type it also uses +pass, discarding the output as a workaround for the echoing problem.
However this not always works and worst, Ruby, which does not have an echoing problem, it is also buggy.
Here are the test cases:
Ruby (it should not require +pass):
>> print "num: "; gets # byexample: +type Does Not Work
num: [42]
=> "42\n"
>> gets # byexample: +type It Works
[it works!]
=> "it works!\n"C/C++ (it requires +pass):
?: int n;
?: std::cout << "num: " << std::flush; std::cin >> n; // byexample: +type +pass It Works
num: [42]
?: n
(int) 42
?: std::string what;
?: getline(std::cin, what); // byexample: +type +pass Hungs! A Newline is Missing!
[it works!]
?: what
(std::string &) "it works!"Javascript (it requires +pass):
> const readline = require('readline');
> const rl = readline.createInterface({
. input: process.stdin,
. terminal: false
. });
> var num;
> rl.question('num: ', (n) => { // byexample: +input +pass
. num = n;
. });
num: [42]
> num
42byexample version
byexample 10.1.0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugout of sync between the code and the docs; something that should be fixed in the near futureout of sync between the code and the docs; something that should be fixed in the near future