木村です。

リックス さんは書きました (2006/04/27 1:46):
>  #!/home/QtPalmtop/bin/ruby
>    i=0
>    op=[]
>   def f(x)
>      while i<x.length/2   #8ビットから4ビットとりだす
>         op=x[0...i]
>         i+=1
>      end
>    printf("%s",op[0][0])
>   end
>   
>   x="00000101"
>   f(x)
>  $Areg=0b0000
>   case f(x) 
>       when "0000"   #xから上位の"0000"を取り出したい
>     printf("$Areg=%s\n",$Areg)  ーーー(1)
>       else
>         printf("reigai\n")
>       end
>  
> (1)の部分が実行されないのですが何処がおかしいのでしょ
> うか?

このスクリプトを切り出して実行してもエラーになるのですが、
わたしのところだけ?

それはさておき。

関数 f は何を返していますか?
それを確かめればすぐにわかると思います。

-- 
木村浩一
  I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
  mail kbk at kt.rim.or.jp
	web  www.kt.rim.or.jp/~kbk/index.html#zakkicho
	     homepage3.nifty.com/farstar/