From: Yukihiro Matsumoto Date: 2006-05-04T02:53:31+09:00 Subject: [ruby-list:42192] Re: 配列の取り出しについて まつもと ゆきひろです In message "Re: [ruby-list:42191] 配列の取り出しについて" on Thu, 4 May 2006 02:43:38 +0900, リックス 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" であれば。