IronPython: нет строкового представления объекта в случае отсутствия явного print-а - C#
Формулировка задачи:
В интерпретаторе python2 можно выполнить примерно такой код:
В случае IronPython
Такой код выводит у меня на консоль 4, затем 6. Вопрос - где 1?
Другой пример: В IronPython я не вижу строкового представления объекта в случае отсутствия явного print-а - куда попадают такие объекты и можно ли их как-либо поймать в IronPython?
>>> print 2 + 2 4 >>> 1 + 1 2 >>> print 3 + 3 6
var python = Python.CreateEngine();
var scope = python.CreateScope();
python.Execute(@"print 2+2", scope);
python.Execute(@"1+1", scope);
python.Execute(@"print 3+3", scope);
Console.ReadKey();>>> object() <object object at 0xb73ca4d0>
Решение задачи: «IronPython: нет строкового представления объекта в случае отсутствия явного print-а»
textual
Листинг программы
using System;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
class Program
{
public static void Main(string[] args)
{
ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
dynamic obj = engine.Execute("1 + 1", scope);
if (obj is int)
Console.WriteLine((int)obj);
Console.ReadKey(true);
}
}