[#42243] コミュニティと宗教の分離について — Beyond <beyond@...>

14 messages 2006/05/21

[#42267] メニューのループについて — リックス <rubyer4649@...>

りっくすです

21 messages 2006/05/27

[#42301] Re: メニューのループについて — "conundrum /" <conundrum@...>

conundrumです。

11 messages 2006/05/28

[ruby-list:42192] Re: 配列の取り出しについて

From: Yukihiro Matsumoto <matz@...>
Date: 2006-05-03 17:53:31 UTC
List: ruby-list #42192
まつもと ゆきひろです

In message "Re: [ruby-list:42191] 配列の取り出しについて"
    on Thu, 4 May 2006 02:43:38 +0900, リックス <rubyer4649@yahoo.co.jp> writes:

|文字列を読み込んで上4桁と下4桁をわけたいのですが
|どうしても出来ません
|アドバイスいただけないでしょうか?

質問するときには「なにを期待していたのに、なにが得られたのか」
をはっきり書いたほうが良いと思いますよ。第三者には「どうして
もできません」は、相当情報量が少ないので。

|#!/home/QtPalmtop/bin/ruby
|address=Array.new
|buf=Array.new
|i0=0
|open("Rom.dat","r") do |file|
|     while line=file.gets
|           i=line.length/2
|           j=line.length
|           buf=line
|           address[i0]=[buf[0...i],buf[i...j]]
|           printf("op[%d]=%4b\n",i0,address[i0][0])
|           printf("Im[%d]=%4d\n",i0,address[i0][1])
|           i0+=1
|     end
|end

で、このプログラムからむりやり推測するに

  * 改行文字を削っていないのでline.lengthが異なる
  * lineから切り出してきた文字列を数値と混同している

の合わせ技ではないでしょうか。

|たとえば、buf=00001010
|とある場合、
|address[0][0]=0000    #bufの上4桁
|address[0][1]=1010    #bufの下4桁
|をいれたいのですが
|address[0]=[buf[0...3],buf[4...7]]
|とはできないのでしょうか?

できますよ。

buf="00001010"

であれば。

In This Thread