事前調査の証拠を示さずに質問したので、誰も助けてくれませんでした。そこで、魚の配布資料に頼るのではなく、自分でルアーをキャストして自分で魚を釣ることにしました。つまり、Googleは自分で。よし、ワールド ワイド ウェブ全体で 48 時間釣りをした後、答えがわかりました!
秘訣は、Moodle Cloze問題タイプ構文内で「正規表現短文問題タイプ」構文を使用することです。混乱しますか?以下のリンクと情報がより明確になることを願っています。
- https://moodle.org/plugins/view.php?plugin=qtype_regexpから「Regular Expression Short Answer question type」プラグインをダウンロードしてインストールする必要があります。
/question/type/ フォルダーにダウンロードしてインストールします。
{2:REGEXP:~=students should have to take exams~=students should have to (take|do|sit)
exams~%50%students should.*#Feedback for half credit answer~%50%.*(have to
(take|do|sit) exams)$#Feedback for half credit answer}
{2: ... } means that this question is worth 2 marks
{..:REGEXP:...} identifies this question as a regular expression variant of the short
answer question type. It accepts non-case sensitive input strings and processes them
accordingly.
"~=students should have to take exams" (minus the ")
は、これが 2 点に値する 100% の回答であることを意味します。
また、moodle のインストールに必要な Behavior more プラグインもダウンロードしてインストールしてください。これらのプラグインは、https:
//github.com/rezeau/moodle-qbehaviour_regexpadaptivewithhelp および https://github.com/rezeau/moodle-qbehaviour_regexpadaptivewithhelpnopenaltyに
ある
2
つの質問動作です。 .org/plugins/browse.php?list=category&id=31
両方をダウンロードして、/question/behaviour/ フォルダーにインストールします。
「Regular Expression Short Answer question type」構文を Cloze 構文内で使用するには (これについては後で詳しく説明します)、/question/type/multianswer フォルダーの 2 つのハッキングされたファイルをコピーして上書きする必要があります。
この重要なステップについては、http:
//docs.moodle.org/25/en/question/type/regexp#The_RegExp_Short_Answer_Questionで読むことができます。
- 正規表現を勉強しよう!基本を知っていることに勝るものはありません。つまり、ルールと基本を知らずに、チェスやフットサル、ブリッジで勝つことをどのように期待できるでしょうか。だから、おしゃべりをやめて、ネット上で最高の正規表現リソースのいくつかにグーグルでアクセスしてください. 私が仕事をするために使用した正規表現リソースには 3 つのカテゴリがあります。
4.1 正規表現初心者向け:
http://regexone.com/
4.2 その他の参照、コーディング例、および構文については、
https ://kb.wisc.edu/moodle/page.php?id=26623
http://www.stedee.id.au/Learn_Regular_Expressions-WildCards
http://www. tjhsst.edu/~dhyatt/perl/exA.html
http://stefanstools.sourceforge.net/regexhelp.html
http://www.regular-expressions.info/characters.html
4.3 正規表現コードの結果をテストするための対話型正規表現ツール (非常に便利です!):
http://www.regular-expressions.info/javascriptexample.html
- では、moodle ワークショップの地下室に行って、生のコーディングやアルゴリズム関連のすべての作業に手を出しましょう。コンピューター サイエンティスト、ソフトウェア エンジニア、およびプログラマーが吐き出して、平均的な IT ユーザーの頭上を飛び交うものをご存じでしょう。私は正規表現コードについて取っています、ベイビー!このセクションは、stackoverflow のユーザーがここに来た目的です。心よりも優れた解決策があるかどうかを確認してください。ああ、そうです、それはあえてでした。
以下のコードを例にとります。
I don't think {2:REGEXP:~=students should have to take exams~=students should have to
(take|do|sit) exams~%50%students should.*#Feedback for half credit answer~%50%.*(have
to (take|do|sit) exams)$#Feedback for half credit answer} exams.
結果の画面はこれです。
それをアルファベットのスープに分解しましょう。
"~=students should have to (take|do|sit) exams"
Noodle、つまりMoodleは、これらの入力のいずれかに2つの完全な素晴らしいマークを与えることを意味します:
students should have to take exams
students should have to do exams
students should have to sit exams
"~%50%students should.*"
は、入力の前半に大文字と小文字を区別しない文字列「students should」が含まれている場合、Moodle のクイズ エンジンが 1 点 (2 点の 50%) を与えることを意味します。したがって、「学生はがぶ飲みする必要があります」などの入力は、1 点を与えます。
"~%50%.*(have to (take|do|sit) exams)$#Feedback for half credit answer"
は、文が次の文字列で終わる文字列を入力すると、2 点満点中 1 点を取得することを意味します。
「試験を受けなければならない」または「試験を受けなければならない」または「試験を受けなければならない」。
ドル記号 ($) は、文がその特定の文字列値で終わるかどうかを検出するこの正規表現コードの頭脳です。だから、その入力は「クルーズは試験をしなければならない、ベイビー!」で終わります。一致しません。「クルーズはドバイ タワーに登りますが、それでも試験を行う必要があります」のような文だけが、実際に一致します。
それで、あなたはそれを持っています。私はなんとか正規表現ゲームをプレイしました。私の正規表現の宿敵をチェックメイト!あなたは私のプログラミング人生を通して私を悩ませてきました。さあ、テーブルがあなたに向けられる時が来ました、あなたは正規表現のボギーマンです! 私はついにまともなレベルの正規表現の理解を達成しました.Moodleの質問タイプを書いてプログラムするのに十分なレベルで、人工的な疑似偽の人工知能が含まれています.
自分の質問に答えたので、この StackOverflow の投稿のスコアを卑劣な -2 から上げて、N ポジティブとしましょう。仲間のスタックオーバーフロー地球人、あなたの投票にパンチを入れてください!
よろしく、フランキー「私はこの正規表現のせいで見た目だけ怒っているだけです」カムは主を賛美します!