[#10007] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...>

青山です。

31 messages 2000/06/11
[#10008] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/11

青山です。

[#10018] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/13

前田です。

[#10027] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10028] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10029] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/13

前田です。

[#10035] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/13

青山です。

[#10038] Re: [ruby-talk:03267] Re: mod_ruby error? — Shugo Maeda <shugo@...> 2000/06/14

前田です。

[#10041] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10045] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10046] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10047] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10048] Re: [ruby-talk:03267] Re: mod_ruby error? — Wakou Aoyama <wakou@...> 2000/06/14

青山です。

[#10135] don't use mktemp() — Shugo Maeda <shugo@...>

前田です。

35 messages 2000/06/27
[#10136] Re: don't use mktemp() — matz@... (Yukihiro Matsumoto) 2000/06/27

まつもと ゆきひろです

[#10137] Re: don't use mktemp() — Shugo Maeda <shugo@...> 2000/06/27

前田です。

[#10141] Re: don't use mktemp() — kjana@... (YANAGAWA Kazuhisa) 2000/06/27

In message <874s6f1rqj.wl@studly.netlab.co.jp>

[#10143] Re: don't use mktemp() — WATANABE Hirofumi <eban@...> 2000/06/27

わたなべです.

[#10181] Re: don't use mktemp() — Katsuyuki Komatsu <komatsu@...> 2000/07/03

小松です。

[#10183] Re: don't use mktemp() — WATANABE Hirofumi <eban@...> 2000/07/03

わたなべです.

[ruby-dev:10075] text/tabs.rb

From: Wakou Aoyama <wakou@...>
Date: 2000-06-17 23:32:54 UTC
List: ruby-dev #10075
青山です。

On Sat, 17 Jun 2000 23:25:02 +0900,
Wakou Aoyama <wakou@fsinet.or.jp> wrote:

> あ、そうそう。Perl には、text/tabs という、タブの展開をするライブラリ
> が付いているんですよね。これ、Ruby でもどうでしょう?

作ってみました。ただし、1.5 系以降のみでしか動きません。
(unix には expand, unexpand とうコマンドもあるんですね。)


=begin
$Date: 2000/06/17 23:19:20 $

== EXPAND AND UNEXPAND TABS LIBRARY

text/tabs.rb

Version 0.1.0

Wakou Aoyama <wakou@fsinet.or.jp>

== EXAMPLE

        require "text/tabs"
        string_without_tabs = Text::Tabs::expand(string_with_tabs)
        string_with_tabs    = Text::Tabs::unexpand(string_without_tabs)

=end

module Text
  module Tabs
    def Tabs::expand(string, tab_stop = 8)
      cursor = 0
      string.gsub(/([^\t]*)(\t+)/) do
        cursor += Regexp::last_match[1].length
        add_space = Regexp::last_match[2].length * tab_stop
        add_space -= (cursor + add_space) % tab_stop
        cursor += add_space
        Regexp::last_match[1] + " " * add_space
      end
    end

    def Tabs::unexpand(string, tab_stop = 8)
      Tabs::expand(string).gsub(/.{#{tab_stop}}/om) do |match|
        match.sub(/ +\z/, "\t")
      end
    end
  end
end

=begin

== HISTORY

=== Version 0.1.0 - wakou

2000/06/17 23:19:20

- first release.

=end


-- 
青山 和光 Wakou Aoyama <wakou@fsinet.or.jp>

In This Thread

Prev Next