Dart 将简单 class 转换为扩展
Dart convert simple class to extension
我在这里粘贴了我的简单 class,我可以将英文数字转换为阿拉伯数字,我想将其转换为扩展名
class Strings{
static String replaceFarsiNumber(String input, bool reverse) {
const english = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
const farsi = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
/*en to fa*/
if (reverse) {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(english[i], farsi[i]);
}
} else {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(farsi[i], english[i]);
}
}
return input;
}
}
因为我在 extensions
中是新手,我在 flutter
中使用这个 class 我如何才能将它转换为扩展:
extension ConvertNum on String {
static const english = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
static const farsi = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
String changeNUm(String input, bool reverse) {
/*en to fa*/
if (reverse) {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(english[i], farsi[i]);
}
} else {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(farsi[i], english[i]);
}
}
return input;
}
}
你快搞定了。基本上,在内部和扩展中,使用 this
来引用当前字符串:
extension ConvertNum on String {
static const english = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
static const farsi = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
String changeNUm(bool reverse) {
/*en to fa*/
String input = this;
if (reverse) {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(english[i], farsi[i]);
}
} else {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(farsi[i], english[i]);
}
}
return input;
}
}
我在这里粘贴了我的简单 class,我可以将英文数字转换为阿拉伯数字,我想将其转换为扩展名
class Strings{
static String replaceFarsiNumber(String input, bool reverse) {
const english = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
const farsi = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
/*en to fa*/
if (reverse) {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(english[i], farsi[i]);
}
} else {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(farsi[i], english[i]);
}
}
return input;
}
}
因为我在 extensions
中是新手,我在 flutter
中使用这个 class 我如何才能将它转换为扩展:
extension ConvertNum on String {
static const english = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
static const farsi = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
String changeNUm(String input, bool reverse) {
/*en to fa*/
if (reverse) {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(english[i], farsi[i]);
}
} else {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(farsi[i], english[i]);
}
}
return input;
}
}
你快搞定了。基本上,在内部和扩展中,使用 this
来引用当前字符串:
extension ConvertNum on String {
static const english = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
static const farsi = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
String changeNUm(bool reverse) {
/*en to fa*/
String input = this;
if (reverse) {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(english[i], farsi[i]);
}
} else {
for (int i = 0; i < english.length; i++) {
input = input.replaceAll(farsi[i], english[i]);
}
}
return input;
}
}