問題タブ [scala-2.12]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - Scala で正規表現の名前付きキャプチャ グループが IllegalStateException をスローする
編集 1: @GoodDokval regex = """(\d+) (\S+)""".r("Id", "Name")
正規表現パターンと一致する文字列がユーザーによって提供されるため、使用できません。グループの数と命名は毎回カスタムです。
編集 2: @Wiktor Stribiżew 質問はScala regex Named Capturing Groupsとは異なります。ここでは、名前付きキャプチャ グループが Scala で機能することを明確に確認できますが、それは特別な状況でのみです。作業例:
機能しないもの:
このコードは、文字列内の複数の一致を見つけるために使用され、1 年以上機能しましたが、最近、名前付きのキャプチャ グループにアクセスすると、java.lang.IllegalStateException: No match found
.
が削除されると正常に動作するsequence.length
ため、一致の数を取得すると、Match オブジェクトが何らかの形で壊れているようです。
シーケンスの代わりにリストを使用しようとすると、同じことが起こります。
一致の数を確認してから使用することは違法または未定義ですか? 例外の原因と動作の変化は何ですか?
最近 Java を更新した覚えがありません。私の環境は次のとおりです。
scala - scala 2.12 では、実行時に作成された TypeTag がシリアライズ可能でないのはなぜですか?
コンパイル時のツールを使用せずにシリアライズ可能な TypeTag を作成する方法を探しています (ランタイムに完全に依存しています)。これは、すべてのリフレクティブ言語の基本機能です。
この投稿の回答では、いくつかの方法が提案されています。
Scalaでは、シリアル化可能な型からTypeTagを作成する方法は?
それらのどれも機能しませんでした:
ttg2
および実行時に作成された場合ttg3
、それらをシリアル化または逆シリアル化するときにエラーが発生し、次のエラーがttg2
発生します。
ttg3
エラーが発生します:
scala リフレクションの設計に精通している場合、機能する TypeTag を生成する「標準的な」実装を提供できますか?