「Preg問題タイプ」の版間の差分

提供:MoodleDocs
移動先:案内検索
27行目: 27行目:


まず[[#オーサリングツール|オーサリングツール]]のセクションを読み、その後(おそらく自分でツールを試した後)[[#正規表現を理解する|正規表現を理解する]]のセクションを読みます。(これは任意ですが、面白いし、大いに役立つでしょう) また、[[#Preg問題の仕組み|問題の仕組み]]のセクションも読んで、様々な設定とそれが問題にどのように影響するかを理解しておくと良いでしょう。
まず[[#オーサリングツール|オーサリングツール]]のセクションを読み、その後(おそらく自分でツールを試した後)[[#正規表現を理解する|正規表現を理解する]]のセクションを読みます。(これは任意ですが、面白いし、大いに役立つでしょう) また、[[#Preg問題の仕組み|問題の仕組み]]のセクションも読んで、様々な設定とそれが問題にどのように影響するかを理解しておくと良いでしょう。
===正規表現をしっかり学んで、正規表現が許すことなら何でもできるようになるための努力をしたい===
さて、あなたは正規表現を知らないけれど、それを理解して複雑な表現を簡単に作りたいと思っています。闇雲に努力するのではなく、[[#正規表現を理解する|このセクション]]を読んで理解することに時間と労力を費やした方が良いでしょう。そして、[[#オーサリングツール|オーサリングツール]]について少し読み、それらを使って正規表現の作成を試してみましょう。これらのツールを使えば、本当によく理解できているか、期待通りの動作をするかを確認することができます。構文ツリーは、''優先順位'' や ''アリティ'' の意味を正しく理解しようとするときに特に役立つでしょう。正規表現の原理をよく理解したら、[[#PREG問題の仕組み|問題の仕組み]]と[[#正規表現のリファレンス|正規表現のリファレンス]]のセクションを読んでください (可能性を知るためです。わざわざすべてを理解したり覚えたりする必要はありません。定期的に新しいことを学ぶためにそこを見ればいいのです)。これで、[[#オーサリングツール|オーサリングツール]]をあまり使わずに正規表現を書けるようになったはずですが、式をテストするためのテストツールは別です。

2021年4月6日 (火) 02:48時点における版


注意: このプラグインは、現在 (2020年2月) Moodleブランチ2.3から3.1のみで利用可能と記載されていますが、プラグイン統計タブでは、このプラグインがインストールされている30以上のサイトのうち、半分が3.2から3.8のMoodleブランチであることがわかります。公式にサポートされていないブランチでも、正規表現プラグインは動作しますが、'オーサリングツール' は利用できません。プラグイン開発者は、このプラグインをアップデートして、この問題を引き起こすJavaScriptの問題を修正するために作業しています。DEVELOPER レベルのデバッグを有効にした場合、サーバに危険を及ぼさない警告が表示されることがあります。これらは将来のリリースで修正されるはずです。

Pregは、正規表現 (regexes)を使用して、学生の回答をチェックする問題タイプです(ただし、ヒント機能のために、正規表現なしで使用することもできます)。正規表現は、問題を作成するときの教師と答えを書くときの学生の両方に、膨大な機能と柔軟性を与えます。最初のセクションでは、このドキュメントの使い方を説明していますが、慎重に使用してください。正規表現の構文についての詳細は http://www.nusphere.com/kb/phpmanual/reference.pcre.pattern.syntax.htm にあります。多くの優れた正規表現のマニュアルがありますが、ここでは繰り返しません。

Preg問題とこのドキュメントの利用方法

正規表現については何も知らない (知りたくない) けど、次の単語 (文字) をヒントにするのは便利そうだな

Preg問題タイプを記述と同じように使うことができますが、正規表現についての知識がなくても、高度なヒントを得ることができます。そのためには、選択する必要があります。

  • Notation => Moodle shortanswer
  • Engine => Finite state automata
  • Exact matching => Yes

その後は、あなたの記述問題から答えをコピーすればいいのです。hintingの設定については、hintingのセクションを読んで理解しておくとよいでしょう。いくつかの図解された、ステップバイステップの、K-12および大学レベルの使用例については、Preg問題タイプの例を参照してください。

正規表現の知識は漠然としているが、パターンマッチングを利用してみたい

正規表現を書くのは大変だけど、その強みをパターンとして利用したい場合、オーサリングツールが問題の作成に大いに役立つでしょう。ツールは正規表現の意味を様々な方法で示してくれます: 表現の内部構造(シンタックスツリー)、マッチングの視覚的なパス(説明グラフ)、そしてテキストの説明です。また、複数の文字列に対して正規表現をテストし、期待通りに動作するかどうかを確認することもできます。あなたの正規表現を実験し、遊び、オーサリングツールの対応する変更を見て、最終的にはあなたが望む正規表現を手に入れてください。

まずオーサリングツールのセクションを読み、その後(おそらく自分でツールを試した後)正規表現を理解するのセクションを読みます。(これは任意ですが、面白いし、大いに役立つでしょう) また、問題の仕組みのセクションも読んで、様々な設定とそれが問題にどのように影響するかを理解しておくと良いでしょう。

正規表現をしっかり学んで、正規表現が許すことなら何でもできるようになるための努力をしたい

さて、あなたは正規表現を知らないけれど、それを理解して複雑な表現を簡単に作りたいと思っています。闇雲に努力するのではなく、このセクションを読んで理解することに時間と労力を費やした方が良いでしょう。そして、オーサリングツールについて少し読み、それらを使って正規表現の作成を試してみましょう。これらのツールを使えば、本当によく理解できているか、期待通りの動作をするかを確認することができます。構文ツリーは、優先順位アリティ の意味を正しく理解しようとするときに特に役立つでしょう。正規表現の原理をよく理解したら、問題の仕組み正規表現のリファレンスのセクションを読んでください (可能性を知るためです。わざわざすべてを理解したり覚えたりする必要はありません。定期的に新しいことを学ぶためにそこを見ればいいのです)。これで、オーサリングツールをあまり使わずに正規表現を書けるようになったはずですが、式をテストするためのテストツールは別です。