March 27, 2005

¼«Í³¼«ºß Squeak ¥×¥í¥°¥é¥ß¥ó¥°¡§Â裶¾Ï ´ðËÜ¥¯¥é¥¹¥é¥¤¥Ö¥é¥êõ¸¡¨¡¤½¤Î£²(2)

Squeak Logo
¡ã¥¹¥È¥ê¡¼¥à¥¯¥é¥¹·²¡ä¡§¥¹¥È¥ê¡¼¥à¤Ï°ì³¤­¤Î¥Ç¡¼¥¿¤ò½èÍý¤¹¤ë¤â¤Î¤Ç¡¢É¬¤º¤Ê¤ó¤é¤«¤Î¥³¥ì¥¯¥·¥ç¥ó¡Ê¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¡Ë¤ò¸µ¤ËÀ¸À®¤¹¤ë¤¬¡¢Ëؤɤξì¹ç¤Ï String ¤ò°·¤¦»þ¤ËÍøÍѤµ¤ì¤ë¡£

´ðËÜ¡ÊÆâÉô¡Ë¥¹¥È¥ê¡¼¥à¡§¥á¥â¥ê¾å¤Î¤ß¤Ë¸ºß¤¹¤ë¥¹¥È¥ê¡¼¥à
ReadStream¡§Æɤ߹þ¤ßÀìÍѤΥ¹¥È¥ê¡¼¥à¡£¡Öon:¡×¥¯¥é¥¹¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¥³¥ì¥¯¥·¥ç¥ó¥¯¥é¥¹¡ÊArray, String ¥¯¥é¥¹¤Ê¤É¡Ë¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÅϤ·¤ÆÀ¸À®¤Ç¤­¤ë¡£
¡¡Î㡧rs := ReadStream on: #(a b c d). rs inspect. "do it"
¤Þ¤¿¤Ï¡¢¥³¥ì¥¯¥·¥ç¥ó¥¯¥é¥¹¡ÊArray, String ¥¯¥é¥¹¤Ê¤É¡Ë¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ë¡¢¡ÖreadStream¡×¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë»ö¤Ç¤â¡¢À¸À®¤Ç¤­¤ë¡£
¡¡Î㡧rs := #(a b c d) readStream. "inspect it"¡¡rs := 'abcd' readStream. "inspect it"
next, next: ¥á¥Ã¥»¡¼¥¸¡§¥¹¥È¥ê¡¼¥à¤Ë¡Önext¡×¥á¥½¥Ã¥É¤òÁ÷¤ë»ö¤Ç¡¢Í×ÁǤò½ç¤Ë¼è¤ê½Ð¤»¤ë¡£¡Önext:¡×¥á¥Ã¥»¡¼¥¸¤Ç°ú¿ôʬ¤À¤±¼è¤ê½Ð¤¹»ö¤â¤Ç¤­¤ë¡£
¢¨¡§¥³¥ì¥¯¥·¥ç¥ó¤ÎºÇ¸å¤ÎÍ×ÁǤòĶ¤¨¤ë¤È¡Önil¡ÊÉÔÄê¡Ë¡×¤¬Ê֤äÆÍè¤ë¡£
¡¡Î㡧rs := '12345' readStream. rs next. "print it" rs next: 4. "print it" rs next. "print it"
ÄêÈ֤νñ¤­Êý¡§¡ÖwhileFalse:¡×¥á¥½¥Ã¥É¤ò»È¤¤¡¢¥¹¥È¥ê¡¼¥à¤Ë¡ÖatEnd¡×¥á¥½¥Ã¥É¤òÁ÷¤Ã¤ÆȽÄꤹ¤ë¡£
¡¡Î㡧rs := 'Hello Squeak!' readStream. [rs atEnd] whileFalse: [Transcript space; show: rs next]. "do it"
upToEnd ¥á¥Ã¥»¡¼¥¸¡§next Åù¤ÇÆɤ߹þ¤ß¸å¡¢ºÇ¸å¤Þ¤ÇÁ´¤Æ¼è¤ê½Ð¤¹»þ¤Ë»ÈÍѤ¹¤ë¡£
¡¡Î㡧rs := 'Hello Squeak!' readStream. rs next:6. rs upToEnd. "print it"
contents ¥á¥Ã¥»¡¼¥¸¡§next Åù¤ÇÆɤ߹þ¤ó¤À°ÌÃ֤˴ط¸¤Ê¤¯¡¢ºÇ½é¤«¤éºÇ¸å¤Þ¤ÇÁ´¤Æ¼è¤ê½Ð¤¹»þ¤Ë»ÈÍѤ¹¤ë¡£
¡¡Î㡧rs := 'Hello Squeak!' readStream. rs next:6. rs contents. "print it"
position, position: , reset¥á¥Ã¥»¡¼¥¸¡§¸½ºß¤ÎÆɤ߼è¤ê°ÌÃÖ¤òposition¤Ç³Îǧ¡¢positon: ¤ÇÆɤ߼è¤ê°ÌÃÖ¤òÀèƬ¤«¤é¤ÎÀäÂÐÃͤÇÀßÄꤹ¤ë»ö¤¬¤Ç¤­¤ë¡£position: ¤Î°ú¿ô¤¬¥¹¥È¥ê¡¼¥à¤ÎÍ×ÁǤòĶ¤¨¤ë¾ì¹ç¤Ï¥¨¥é¡¼¡£ reset¤Çposition¤ÎÃͤò¥¼¥í¤ËÌ᤻¤ë¡£
¡¡Î㡧rs := 'Hello Squeak!' readStream. rs next:6. rs position. "print it" rs position:12. rs next. "print it" rs reset. rs position. "print it"
skip: ¥á¥Ã¥»¡¼¥¸¡§¸½ºß¤ÎÆɤ߼è¤ê°ÌÃÖ¤«¤éÁêÂÐŪ¤ËÆɤ߼è¤ê°ÌÃÖ¤ò»ØÄê¤Ç¤­¤ë¡£Éé¤ÎÃͤÇÌá¤ë»ö¤â¤Ç¤­¤ë¡£¥¹¥È¥ê¡¼¥à¤ÎÍ×ÁÇ¿ô¤òĶ¤¨¤¿¤ê¡¢¥¼¥í°Ê²¼¤Ë¤Ê¤ë¤È¥¨¥é¡¼¡£
¡¡Î㡧rs := 'Hello Squeak!' readStream. rs next:6. rs skip:6. rs next. "print it" rs skip:-6. rs next. "print it"
upTo: ¥á¥Ã¥»¡¼¥¸¡§°ú¿ô¤ÎÍ×ÁǤޤǤò¼è¤ê½Ð¤¹¡£position¤ÎÃͤϡ¢°ìÃפ·¤¿Í×ÁǤˤʤ롣°ú¿ô¤È°ìÃפ¹¤ëÍ×ÁǤ¬Ìµ¤±¤ì¤ÐºÇ¸å¤Þ¤Ç¼è¤ê½Ð¤¹¡£
¡¡Î㡧rs := 'Hello Squeak!' readStream. rs upTo:(Character space). "print it" rs upTo:(Character space). "print it"
skipTo: ¥á¥Ã¥»¡¼¥¸¡§°ú¿ô¤ÎÍ×ÁǤޤÇposition¤ò°ÜÆ°¤¹¤ë¤À¤±¡£upTo¤ÎÍͤˡ¢Í×ÁǤòÊÖ¤µ¤Ê¤¤¡£
¡¡Î㡧rs := 'Hello Squeak!' readStream. rs skipTo:(Character space). rs position. "print it"
peek ¥á¥Ã¥»¡¼¥¸¡§next¥á¥Ã¥»¡¼¥¸¤ÈƱ¤¸¤¯¡¢¼¡¤ÎÍ×ÁǤò¼è¤ê½Ð¤¹¤¬¡¢position¤òÊѲ½¤µ¤»¤Ê¤¤¡£
¡¡Î㡧rs := 'Hello Squeak!' readStream. rs next. rs position. "print it" rs peek. "print it" rs position. "print it"

WriteStream¡§½ñ¤­¹þ¤ßÀìÍѤΥ¹¥È¥ê¡¼¥à¡£
on: ¥á¥Ã¥»¡¼¥¸¡§on: ¥¯¥é¥¹¥á¥½¥Ã¥É¤Î°ú¿ô¤Ë¡¢½ñ¤­¹þ¤à¤ª¤ª¤è¤½¤ÎÍ×ÁÇ¿ô¤ò»ý¤Ã¤¿¥³¥ì¥¯¥·¥ç¥ó¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤ò»ØÄꤷ¤Æ¡¢¥¹¥È¥ê¡¼¥à¤òºîÀ®¤¹¤ë¡£
ºÇ½é¤Ë»ØÄꤷ¤¿Í×ÁÇ¿ô¤òĶ¤¨¤ëÍ×ÁǤò½ñ¤­¹þ¤ó¤À¾ì¹ç¤Ç¤â¡¢¼«Æ°¤Ç³ÈÄ¥¤µ¤ì¤ë¤Î¤ÇÍ×ÁÇ¿ô¥¼¥í¤Ç¤â¹½¤ï¤Ê¤¤¤¬¡¢³ÈÄ¥ºî¶È¤¬É¬Íפʰ١¢¤½¤Îʬưºî¤¬ÃÙ¤¯¤Ê¤ë¡£
¡¡Î㡧Í×ÁÇ¿ô¥¼¥í¤ÇºîÀ®¡§WriteStream on: ''. "inspect it"
¡¡Î㡧Í×ÁÇ¿ô¤ò»ØÄꤷ¤ÆºîÀ®¡§WriteStream on: (Array new:10). "inspect it"
with: ¥á¥Ã¥»¡¼¥¸¡§on: ¥á¥Ã¥»¡¼¥¸¤ÈƱ¤¸¤¯¡¢°ú¿ô¤ËÅϤ·¤¿¥³¥ì¥¯¥·¥ç¥ó¤Ç¥¹¥È¥ê¡¼¥à¤òºîÀ®¤¹¤ë¤¬¡¢on: ¤Ç¤Ï¥¹¥È¥ê¡¼¥à¤ËÍ×ÁǤòÄɲ乤ë¤È¾å½ñ¤­¤µ¤ì¤ë¤Î¤ËÂФ·¡¢with: ¤ÇºîÀ®¤·¤¿¥¹¥È¥ê¡¼¥à¤ÏºÇ½é¤ËÅϤ·¤¿¥³¥ì¥¯¥·¥ç¥ó¤òÊÝ»ý¤·¤Æ¡¢¤½¤Î¸å¤í¤ËÍ×ÁǤ¬Äɲ䵤ì¤ë¡£
¡¡on: ¤ÎÎ㡧WriteStream on: (Array new:5). "inspect it"
¡¡with: ¤ÎÎ㡧WriteStream on: (Array new:5). "inspect it"
on: ¤È with: ¤ÇºîÀ®¤·¤¿¥¹¥È¥ê¡¼¥à¤Ç¤Ï¡¢Í×ÁǤ¬Äɲ䵤ì¤ë°ÌÃÖ¤ò¼¨¤¹ position ¤ÎÃͤ¬°ã¤Ã¤Æ¤¤¤ë»ö¤¬Ê¬¤«¤ë¡£¤Þ¤¿¡¢on: ¤ËÅϤ·¤¿°ú¿ô¤¬°ÕÌ£¤ÎÍ­¤ë¥³¥ì¥¯¥·¥ç¥ó¤Ç¤â¡¢¼è¤ê½Ð¤¹»ö¤¬¤Ç¤­¤Ê¤¤ÍͤˤʤäƤ¤¤ë¡Ê¾å½ñ¤­¤µ¤ì¤Æ¤·¤Þ¤¦¤«¤é¡©¡Ë¡£
¡¡on: ¤ÎÎ㡧(WriteStream on: 'Hello Squeak') contents. "print it"
¡¡with: ¤ÎÎ㡧(WriteStream on: 'Hello Squeak') contents. "print it"
nextPut: ¥á¥Ã¥»¡¼¥¸¡§°ú¿ô¤ËÍ×ÁǤò°ì¤Ä»ØÄꤷ¤Æ¡¢¥¹¥È¥ê¡¼¥à¤ËÄɲ乤ë»ö¤¬¤Ç¤­¤ë¡£
¡¡Î㡧ws := WriteStream on: ''. ws nextPut: $a. ws nextPut: Character space. ws nextPut: $A. ws contents. "print it"
nextPutAll: ¥á¥Ã¥»¡¼¥¸¡§°ú¿ô¤Ë¥³¥ì¥¯¥·¥ç¥ó¡Ê¤Î¥¤¥ó¥¹¥¿¥ó¥¹¡Ë¤ò»ØÄꤷ¤Æ¡¢¥¹¥È¥ê¡¼¥à¤ËÄɲ乤ë»ö¤¬¤Ç¤­¤ë¡£
¡¡Î㡧ws := WriteStream on: ''. ws nextPutAll: 'Hello'. ws nextPut: Character space. ws nextPutAll: 'Squeak!'. ws contents. "print it"


Posted by 3k1 at 05:18 P | from category: Squeak | TrackBacks
Comments
No comments yet
:

:

Trackbacks