IronPython: нет строкового представления объекта в случае отсутствия явного print-а - C#

Узнай цену своей работы

Формулировка задачи:

В интерпретаторе python2 можно выполнить примерно такой код:
>>> print 2 + 2
4
>>> 1 + 1
2
>>> print 3 + 3
6
В случае IronPython
            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();
Такой код выводит у меня на консоль 4, затем 6. Вопрос - где 1? Другой пример:
>>> object()
<object object at 0xb73ca4d0>
В IronPython я не вижу строкового представления объекта в случае отсутствия явного print-а - куда попадают такие объекты и можно ли их как-либо поймать в IronPython?

Решение задачи: «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);
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы