本文整理汇总了C#中PythonLanguageVersion.Is2x方法的典型用法代码示例。如果您正苦于以下问题:C# PythonLanguageVersion.Is2x方法的具体用法?C# PythonLanguageVersion.Is2x怎么用?C# PythonLanguageVersion.Is2x使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PythonLanguageVersion
的用法示例。
在下文中一共展示了PythonLanguageVersion.Is2x方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateParser
/// <summary>
/// Creates a new parser from a seekable stream including scanning the BOM or looking for a # coding: comment to detect the appropriate coding.
/// </summary>
public static Parser CreateParser(Stream stream, PythonLanguageVersion version, ParserOptions parserOptions = null) {
var options = parserOptions ?? ParserOptions.Default;
var defaultEncoding = version.Is2x() ? PythonAsciiEncoding.Instance : Encoding.UTF8;
var reader = GetStreamReaderWithEncoding(stream, defaultEncoding, options.ErrorSink);
return CreateParser(reader, version, options);
}
示例2: Statement
/// <summary>
/// Retuns a sequence of all keywords usable as a statement in a
/// particular version of Python.
/// </summary>
public static IEnumerable<string> Statement(PythonLanguageVersion version = PythonLanguageVersion.None) {
yield return "assert";
if (version.IsNone() || version >= PythonLanguageVersion.V35) {
yield return "async";
yield return "await";
}
yield return "break";
yield return "continue";
yield return "class";
yield return "def";
yield return "del";
if (version.IsNone() || version.Is2x()) {
yield return "exec";
}
yield return "if";
yield return "elif";
yield return "except";
yield return "finally";
yield return "for";
yield return "from";
yield return "global";
yield return "import";
if (version.IsNone() || version.Is3x()) {
yield return "nonlocal";
}
yield return "pass";
if (version.IsNone() || version.Is2x()) {
yield return "print";
}
yield return "raise";
yield return "return";
yield return "try";
yield return "while";
yield return "with";
yield return "yield";
}
示例3: CheckStrOrBytes
private Action<Expression> CheckStrOrBytes(PythonLanguageVersion version, string str) {
return expr => {
if (version.Is2x()) {
CheckConstant(ToBytes(str));
} else {
CheckConstant(str);
}
};
}
示例4: GetConstantRepr
public string GetConstantRepr(PythonLanguageVersion version, bool escape8bitStrings = false) {
if (_value == null) {
return "None";
} else if (_value is AsciiString) {
StringBuilder res = new StringBuilder();
if (!version.Is2x()) {
res.Append("b");
}
AppendEscapedString(res, ((AsciiString)_value).String, escape8bitStrings);
return res.ToString();
} else if (_value is string) {
StringBuilder res = new StringBuilder();
if (!version.Is3x()) {
res.Append("u");
}
AppendEscapedString(res, (string)_value, escape8bitStrings);
return res.ToString();
} else if (_value is Complex) {
Complex n = (Complex)_value;
string real = NegativeZeroAwareToString(n.Real);
string imag = NegativeZeroAwareToString(n.Imaginary);
if (n.Real != 0) {
if (!imag.StartsWith("-")) {
imag = "+" + imag;
}
return "(" + real + imag + "j)";
} else {
return imag + "j";
}
} else if (_value is BigInteger) {
if (!version.Is3x()) {
return _value.ToString() + "L";
}
} else if (_value is double) {
double n = (double)_value;
string s = NegativeZeroAwareToString(n);
// If there's no fractional part, and this is not NaN or +-Inf, G format will not include the decimal
// point. This is okay if we're using scientific notation as this implies float, but if not, add the
// decimal point to indicate the type, just like Python repr() does.
if ((n - Math.Truncate(n)) == 0 && !s.Contains("e")) {
s += ".0";
}
return s;
} else if (_value is IFormattable) {
return ((IFormattable)_value).ToString(null, CultureInfo.InvariantCulture);
}
// TODO: We probably need to handle more primitives here
return _value.ToString();
}