Article
· Juil 7, 2023 2m de lecture

Python Shell - Récupérez la sortie de la dernière expression et remettez-la dans la variable.

Excusez si cela est évident pour les programmeurs Python, mais pour ceux qui viennent d'ObjectScript, cela peut être une astuce utile.

Lorsqu'on développe avec des commandes python.

Le test des fonctionnalités sont en cours via le shell :

$SYSTEM.Python.Shell()
 
Python 3.9.5 (default, Mar 14 2023, 06:58:44) [MSC v.1927 64 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
>>>

Lorsque Python évalue une expression dans le shell, il imprime le résultat de l'expression sur le terminal.

>>> 1 + 2

3

Il est assez facile d'évaluer et d'afficher accidentellement des valeurs

>>> iris.cls("%Dictionary.MethodDefinition")._OpenId("%Library.String||LogicalToJSON",0)
<iris.%Dictionary.MethodDefinition object at 0x000001C55C8572D0>
# .. mais je voulais vraiment cet objet pour un travail ultérieur

c'est-à-dire : ce que je voulais vraiment faire, c'était définir une nouvelle variable pour renvoyer la valeur de cet appel de fonction :

>>> myvar = iris.cls("%Dictionary.MethodDefinition")._OpenId("%Library.String||LogicalToJSON",0)

Cela peut entraîner des retards s'il y avait beaucoup de configuration impliquée pour arriver à ce point.

À la rescousse se trouve l'underscore "_" un vrai Hero :). Cette variable contient la valeur de la dernière expression évaluée pour vous.

Vous pouvez économiser votre temps de R&D en exécutant :  "[variable name] = _  "

>>> iris.cls("%Dictionary.MethodDefinition")._OpenId("%Library.String||LogicalToJSON",0)
<iris.%Dictionary.MethodDefinition object at 0x000001C55C8572D0>
# oops

>>> myvar = _

# Garder le calme et continuer ...

>>> myvar._ClassName()

'MethodDefinition

J'espère que cela est utile pour quelqu'un d'autre.

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer