Reproduire la syntaxe de base try ... catch du langage de programmation Mulan

Au début du mois dernier, j'ai commencé à réécrire progressivement les routines du jeu d'aventure textuelle dans le livre "Make Your Own Python Text Adventure: A Guide to Learning Programming" en langue Mulan et les ai changées en identifiants chinois . Comme c'était vers la fin de la série, je me suis réitéré Maintenant, essayez ... attrapez la syntaxe la plus basique pour les routines ( version PyPI 0.0.16 ), bien sûr, il existe des fonctions liées à try et de nombreuses autres fonctions Mulan à récompenser pour être reproduites .

Mulan's try ... catch syntaxe de base

Vous pouvez détecter toutes les erreurs sans spécifier de types spécifiques:

try {
  print([][0])
} catch e {
  print(e)
}

Vous pouvez également spécifier le type d'erreur:

try {
  print(int('x'))
} catch e : ValueError {
  print('v')
}

Attrapez plusieurs types d'erreurs:

try {
  print([][int('0')])
} catch e : ValueError {
  print('v')
} catch e : IndexError {
  print('i')
}

Il est à noter que lors de la réécriture du code Python vers le code Mulan, il est facile d'écrire du code comme celui-ci:

try {
  print([][int('0')])
} catch ValueError {
  print('v')
} catch IndexError {
  print('i')
}

Une erreur sera signalée à ce moment: par défaut "sauf:" doit être le dernier

À ce stade, les fonctions du langage Mulan requises par les routines du jeu d'aventure textuelle ont été essentiellement réalisées, et les fonctions principales du jeu ont également été réalisées via le langage de programmation Mulan.

Cependant, le bug de jeu restant causé par la fonctionnalité de Mulan n'a pas encore pensé à une méthode appropriée pour l'éviter. S'il n'y a pas de bonne solution, je crains que cela n'affecte grandement l'aspect pratique de la langue mulan, et j'ai hâte de la traiter dès que possible.


Pièce jointe: Statistiques du montant du code

La partie principale des statistiques de ligne de code, le format est: la dernière fois -> maintenant.

  • Taille du code Mulan 3307 -> 3349
    • Environnement d'exploitation, la plupart de la mise en œuvre et des tests sont le code Mulan: 582
    • Cas de test Mulan, y compris quelques petits programmes pratiques (tels que Tic Tac Toe): 2725 -> 2767 (Le cas de test de message d'erreur remplace les commentaires dans le code source)
  • Volume de code Python (implémentation Mulan et cadre de test): 2920 -> 2816
    • 分析器/语法分析器.py: 1021 -> 1049
    • 分析器/词法分析器.py: 213 -> 216
    • 分析器/语法树.py: 209 -> 225
    • 测试/期望值表.py( Extrait de " Run all .py "): 133 -> 135
    • [ Extrait dans une bibliothèque distincte ] 功用/规律.py, prototype d'API d'expression régulière: 100
    • 分析器/语法成分.py, La constante d'énumération extraite de l'analyseur: 83 -> 85
    • Inchangé
      • 环境.py, Définissez la méthode globale: 174
      • 交互.py, Environnement interactif (REPL): 148
      • 功用/反馈信息.py: 75
      • 中.py, Le programme principal: 74
      • 测试/运行所有.py, Vérifiez tous les fragments de code de test Mulan: 71
      • 功用/调试辅助.py, : 57
      • setup.py, 34
      • 测试/unittest/语法树.pyPour vous assurer que l'arborescence de syntaxe générée est cohérente avec la version d'origine: 88
      • 【Déjà supprimé】测试/unittest/正则.py: 62
      • 测试/unittest/交互.py, Tests liés à l'environnement interactif: 28
      • 测试/unittest/所有用例.py: 24
      • 分析器/错误.py: 26

Je suppose que tu aimes

Origine www.oschina.net/news/126945/mulan-updated
conseillé
Classement