تمرين: قارئ روت 13
تمرين: قارئ روت 13
من الأنماط الشائعة قارئ الإدخال والإخراج الذي يغلّف io.Reader آخر، ويعدّل التدفّق بطريقة ما.
على سبيل المثال، تستقبل دالة إنشاء قارئ جي زيب قارئًا io.Reader (تدفّقًا من البيانات المضغوطة) وتُرجع *gzip.Reader ينفّذ أيضًا io.Reader (تدفّقًا من البيانات بعد فكّ ضغطها).
نفّذ rot13Reader ينفّذ io.Reader ويقرأ من io.Reader، مع تعديل التدفّق بتطبيق شيفرة الاستبدال روت 13 على جميع المحارف الأبجدية.
النوع rot13Reader متاح لك.
اجعله ينفّذ io.Reader بتنفيذ تابعه Read.
النص الأصلي بالإنجليزية
Exercise: rot13Reader
A common pattern is an io.Reader that wraps another io.Reader, modifying the stream in some way.
For example, the gzip.NewReader function takes an io.Reader (a stream of compressed data) and returns a *gzip.Reader that also implements io.Reader (a stream of the decompressed data).
Implement a rot13Reader that implements io.Reader and reads from an io.Reader, modifying the stream by applying the rot13 substitution cipher to all alphabetical characters.
The rot13Reader type is provided for you.
Make it an io.Reader by implementing its Read method.
هذا الدرس للقراءة فقط؛ جرّب المثال في الدرس التالي.