Вам необходимо проанализировать строку, захваченную stdin.readLineSync()
, используя int.parse()
import 'dart:io';
void main() {
int n = int.parse(stdin.readLineSync());
}
Есть ли в строках символы ASCII или International?
Если это последний случай, «верхний регистр» не так прост, и это зависит от используемого алфавита. Существуют двухпалатные и однопалатные алфавиты. Только двухпалатные алфавиты имеют разные символы для верхнего и нижнего регистра. Также есть составные символы, такие как латинская заглавная буква 'DZ' (\ u01F1 'DZ'), которые используют так называемый регистр заглавия . Это означает, что изменяется только первый символ (D).
Я предлагаю вам взглянуть на ICU и разницу между простыми и полными сопоставлениями регистров. Это может помочь:
Я знаю, что вы нашли другой способ сделать это, но к вашему сведению основной ответ заключается в том, что если вы удвоите амперсанд (например, используйте '&& aVariable'), тогда значение, которое вы введете для переменной подстановки, будет запомнено на время вашего сеанса. Обратите внимание, что в этом случае, если вы повторно выполните запрос, вам больше не будет предложено, он будет продолжать использовать то же значение.
select *
from A_TABLE
where A_COLUMN = '&aVariable'
union
select *
from A_TABLE
where B_COLUMN = '&&aVariable';
Обратите внимание, как вторая (и последующие) переменные будут использовать двойной амперсанд (&&)