アカウント名:
パスワード:
Windows 環境では(よく知りませんが)適切ではないかもしれませんが、grep のクローンなんていかがでしょうか。
実際に動く grep があるので仕様の説明も楽ですし、ファイル入出力や文字列操作など基本的な要素が詰まっています。簡単にできてしまった人にも、ファイル名表示や行番号表示など追加課題も容易に出せます。
もう少し簡単にして tail も良いかもしれません。過去に tail クローンの課題を出した時、ファイル全体をメモリ上に入れてしまう実装が多く提出されました。読んで捨てる実装にしなければならない理由やその方法を説明できる良い機会となりました。
質問!PCRE [pcre.org] を使ってもいいですか?
過去に regex を使った実装を提出したツワモノがいましたが、「正規表現とは何か」を知っていて、そのライブラリの存在も知っている新人がいるとすれば、彼/彼女はかなりデキる部類に入ると思います。
私の場合、何を使ってもOKのスタンスで課題を出すようにしています。ライブラリのインストールやリンクでつまずくも良し、英語ドキュメントでつまずくも良し。本人の意思でちょっと違うアプローチを選択した以上、後に引けないという雰囲気の中で何かを学んでもらうのも良いと思います。
ただ現実的なレベルでは、strstr() を使えば上出来、ポインタをずらしながらの strcmp() が次点、二重ループ内で1バイトずつ比較するのが標準レベル、Segmentation Fault が要フォロー、といったところでしょうか。
# 皆さんの所ではもっとレベルが高いって!?
「正規表現とは何か」を知っていて、そのライブラリの存在も知っている新人がいるとすれば、彼/彼女はかなりデキる部類に入ると思います。
賛成…と言いたいところだけど、Wikipediaを引けば [wikipedia.org]すぐに入手できる情報なんだよね。ぐぐったらこれがトップに来るし。
grep の実装という課題に対して、正規表現の存在を思い浮かべることができるかが問題だと思います。
正規表現という言葉が先に示されていて、その意味を調べるのであればおっしゃる通りにすぐに調べられますが...
grep の実装という課題に対して、正規表現の存在を思い浮かべることができるかが問題
Google [google.co.jp]、Wikipedia [wikipedia.org]、Manpage [linux.or.jp]。どれもすぐにgrepから正規表現に行き着きますね。行き着かないなら相当鈍い。
もうそのレベルは問題にしても意味が無い時代になった、ってことでしょうね。
ま、GoogleもWikipediaもろくに使えないレベルをフィルタリングする程度の意味はあるかもしれないけど。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stableって古いって意味だっけ? -- Debian初級
grep クローン (スコア:3, 参考になる)
Windows 環境では(よく知りませんが)適切ではないかもしれませんが、
grep のクローンなんていかがでしょうか。
実際に動く grep があるので仕様の説明も楽ですし、
ファイル入出力や文字列操作など基本的な要素が詰まっています。
簡単にできてしまった人にも、ファイル名表示や行番号表示など
追加課題も容易に出せます。
もう少し簡単にして tail も良いかもしれません。
過去に tail クローンの課題を出した時、
ファイル全体をメモリ上に入れてしまう実装が多く提出されました。
読んで捨てる実装にしなければならない理由や
その方法を説明できる良い機会となりました。
Re: (スコア:1)
質問!
PCRE [pcre.org] を使ってもいいですか?
Re: (スコア:0)
過去に regex を使った実装を提出したツワモノがいましたが、
「正規表現とは何か」を知っていて、
そのライブラリの存在も知っている新人がいるとすれば、
彼/彼女はかなりデキる部類に入ると思います。
私の場合、何を使ってもOKのスタンスで課題を出すようにしています。
ライブラリのインストールやリンクでつまずくも良し、
英語ドキュメントでつまずくも良し。
本人の意思でちょっと違うアプローチを選択した以上、
後に引けないという雰囲気の中で何かを学んでもらうのも良いと思います。
ただ現実的なレベルでは、
strstr() を使えば上出来、
ポインタをずらしながらの strcmp() が次点、
二重ループ内で1バイトずつ比較するのが標準レベル、
Segmentation Fault が要フォロー、
といったところでしょうか。
# 皆さんの所ではもっとレベルが高いって!?
Re:grep クローン (スコア:1)
「正規表現とは何か」を知っていて、そのライブラリの存在も知っている新人がいるとすれば、彼/彼女はかなりデキる部類に入ると思います。
賛成…と言いたいところだけど、Wikipediaを引けば [wikipedia.org]すぐに入手できる情報なんだよね。ぐぐったらこれがトップに来るし。
Re: (スコア:0)
grep の実装という課題に対して、
正規表現の存在を思い浮かべることができるかが問題だと思います。
正規表現という言葉が先に示されていて、
その意味を調べるのであればおっしゃる通りにすぐに調べられますが...
Re:grep クローン (スコア:1)
grep の実装という課題に対して、正規表現の存在を思い浮かべることができるかが問題
Google [google.co.jp]、Wikipedia [wikipedia.org]、Manpage [linux.or.jp]。どれもすぐにgrepから正規表現に行き着きますね。行き着かないなら相当鈍い。
もうそのレベルは問題にしても意味が無い時代になった、ってことでしょうね。
ま、GoogleもWikipediaもろくに使えないレベルをフィルタリングする程度の意味はあるかもしれないけど。