[#37041] [ANN] Exerb/Exerb-CC 2.6.0 — Yuya Kato <yuya-ml@4th.to>

未踏ユース終了まで1ヶ月を切って、焦り気味のYuyaです。

27 messages 2003/02/02
[#37202] Re: [ANN] Exerb/Exerb-CC 2.6.0 — "TOYOFUKU Chikanobu" <toyofuku@...> 2003/03/02

豊福です。

[#37206] Re: [ANN] Exerb/Exerb-CC 2.6.0 — Yuya Kato <yuya-ml@4th.to> 2003/03/04

Yuyaです。

[#37058] Re: Local variables & blocks — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

27 messages 2003/02/05
[#37059] Re: Local variables & blocks — ichimal@... 2003/02/06

皆様、初めまして鈴木です。

[#37063] Re: Local variables & blocks — matz@... (Yukihiro Matsumoto) 2003/02/07

まつもと ゆきひろです

[#37110] Re: Local variables & blocks — ichimal@... 2003/02/16

鈴木です。

[#37115] Re: Local variables & blocks — Tanaka Akira <akr@...17n.org> 2003/02/17

In article <200302161629.h1GGTvJ5008901@fenix.ne.jp>,

[#37123] 私はこれにハマリました。 — Shin-ichiro HARA <sinara@...> 2003/02/18

原です。

[ruby-list:37054] Re: 改行が認識されない?

From: 金光雅夫 (KANEMITSU Masao) <masao-k@...>
Date: 2003-02-04 13:23:38 UTC
List: ruby-list #37054
金光です。

何が原因か、これではwcさえできないという感じなのですが、

──────────────────────────────────────
//ii ストリーム

 もうひとつ重要なのが、それらのコマンド同士を組み合わせたり、結果を得たりするときに活躍する文字列の流れです。Unixでは、これらのデータをパイプの中を通すように扱います。
 ひとつのコマンドが結果を出すと、それがパイプの中に入り、別のコマンドがそれを受け取り、最終的に端末(コンソール)に表示されるといった具合です。
 たとえば、文書fileの内容から「good」という文字列を含む行を取り出し、それをソート(ABC順などに並べ替える)して、結果を端末で見るといった場合
──────────────────────────────────────

 ↓

──────────────────────────────────────
ますが、それを引き出すのに、呪文をとなえるようなものです。//ii ス
トリーム もうひとつ重要なのが、それらのコマンド同士を組み合わせた
り、結果を得たりするときに活躍する文字列の流れです。Unixでは、これ
らのデータをパイプの中を通すように扱います。 ひとつのコマンドが結
果を出すと、それがパイプの中に入り、別のコマンドがそれを受け取り、
最終的に端末(コンソール)に表示されるといった具合です。 たとえば、
文書fileの内容から「good」という文字列を含む行を取り出し、それをソ
ート(ABC順などに並べ替える)して、結果を端末で見るといった場合//lst1{$
cat file1 file2 | grep good | sort -r | less//}といったコマンドラ
──────────────────────────────────────

のようになってしまいます。
 ちなみに

──────────────────────────────────────
class Fold
  def initialize(width)
    @width = width
    @str = ''
  end

  def puts(line, &block)
    line = line.chomp
    return yield(line + "\n") if line.size <= @width
    line.split('').each do |c|
      push(c, &block) 
    end
    push("\n", &block)
  end

  private
  def push(c)
    if c == "\n"
      yield(@str + "\n")
      @str = ''
    elsif @str.size + c.size > @width
      yield(@str + "\n")
      @str = c
    else
      @str.concat(c)
    end
  end
end

if __FILE__ == $0
  fold = Fold.new(66)
  while(s = gets)
    fold.puts(s) { |ln| print ln }
  end
end
──────────────────────────────────────

だと、getsで1行ずつはとってきてるようなのですが、なぜか

──────────────────────────────────────
chapter 1
──────────────────────────────────────

のような短い行が

──────────────────────────────────────
chap
ter 1
──────────────────────────────────────

になるなど(ところどころ)なんです。


On Tue, 4 Feb 2003 21:24:48 +0900
nobu.nakada@nifty.ne.jp wrote:

> なかだです。
> 
> At Tue, 4 Feb 2003 20:49:35 +0900,
> 金光雅夫 (KANEMITSU Masao) wrote:
> > ──────────────────────────────────────
> > #! ruby -Ks
> > 
> > require 'nkf'
> > 
> > while (line = gets)
> >   print NKF.nkf('-m0 -f66 -Ss', line.sub(/\A /s, '%%zwsp%%')).sub(/\A%%zwsp%%/, ' ')
> >   print "\n"
> > end
> > ──────────────────────────────────────
> > 
> > のようなプログラム(fold)で、getsが一気に全部行を読み込んでいるように
> > なります。ただし、exe版のNKFでも同じ問題が起きています。
> 
> すいませんが、どういう症状なのかよく分かりません。具体的に、ど
> ういうデータに対してどういう出力になるのでしょうか。
> 
> -- 
> --- 僕の前にBugはない。
> --- 僕の後ろにBugはできる。
>     中田 伸悦


なんか、狐につままれたようで、再起動したり、色々やってみましたが、
NKF.exeでも同様になる、ということで、NKFのなにかがあるかも、という線で
聞かせてもらいました。


M.Kanemitsu
———————————————
金光雅夫 masao-k@a-net.email.ne.jp

http://www.masao-k.net
http://isweb14.infoseek.co.jp/art/soshikon/
http://isweb15.infoseek.co.jp/computer/ruby256/
http://www.masao-k.net/tDiary/index.rb
http://www.masao-k.net/RubyBook/
〒216-0031 川崎市宮前区神木本町5-14-12
自宅: 044-877-5006
携帯: 090-2753-5292
-- 
"I invented the term Object-Oriented, and I can 
tell you I did not have C++ in mind."
                                            -Alan Kay


In This Thread