[#28402] crypt — Kenji Noda <zaq94465a@...>

野田です

58 messages 2001/03/01
[#28404] Re: crypt — gotoken@... (GOTO Kentaro) 2001/03/01

In message "[ruby-list:28402] crypt"

[#28410] Re: crypt — "Akinori MUSHA" <knu@...> 2001/03/02

At Fri, 2 Mar 2001 04:34:52 +0900,

[#28413] Re: crypt — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/02

newです.

[#28419] Re: crypt — matz@... (Yukihiro Matsumoto) 2001/03/02

まつもと ゆきひろです

[#28421] Re: crypt — gotoken@... (GOTO Kentaro) 2001/03/02

ごとけんです

[#28424] Re: crypt — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/02

newです.

[#28435] ruby 1.6.3? — akira yamada / やまだあきら <akira@...>

24 messages 2001/03/02
[#28440] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/02

まつもと ゆきひろです

[#28572] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/07

[#28621] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/09

[#28624] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/09

まつもと ゆきひろです

[#28821] Re: ruby 1.6.3? — akira yamada / やまだあきら <akira@...> 2001/03/17

[#28823] Re: ruby 1.6.3? — matz@... (Yukihiro Matsumoto) 2001/03/17

まつもと ゆきひろです

[#28829] Re: ruby 1.6.3? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/03/18

もりきゅうです。

[#28831] Re: ruby 1.6.3? — Kazuhiro Yoshida <moriq.kazuhiro@...> 2001/03/18

もりきゅうです。

[#28454] Ruby 初心者は! — 有瀬 和徳 <crush@...>

Kazunori Aruse

17 messages 2001/03/03

[#28485] ruby/tk TkEntry#selection_present bug? — Noritsugu Nakamura <nnakamur@...>

22 messages 2001/03/04
[#28492] Re: ruby/tk TkEntry#selection_present bug? — Koji Arai <JCA02266@...> 2001/03/04

新井です。

[#28559] Re: ruby/tk TkEntry#selection_present bug? — nagai@... 2001/03/06

永井@知能.九工大です.

[#28562] Re: ruby/tk TkEntry#selection_present bug? — Noritsugu Nakamura <nnakamur@...> 2001/03/06

[#28615] Re: ruby/tk TkEntry#selection_present bug? — nagai@... 2001/03/09

永井@知能.九工大です.

[#28530] テキストファイルを固定文字数で切って、行番号をつけるプログラム — Keisuke Minami <keisuke@...>

こんばんは。三並です。

10 messages 2001/03/05

[#28599] 1.6 のダウンロードマニュアルが圧縮されていない? — Keisuke Minami <keisuke@...>

こんばんは。三並です。

71 messages 2001/03/08
[#28601] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — rubikitch <rubikitch@...> 2001/03/08

From: Keisuke Minami <keisuke@rccn.com>

[#28602] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — SHIBATA Hiroshi <h-sbt@...9.so-net.ne.jp> 2001/03/08

 SHIBATA Hiroshiです。

[#28603] Re: 1.6 のダウンロードマニュアルが圧縮されていない? — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-list:28602] Re: 1.6 のダウンロードマニュアルが圧縮されていない?"

[#28606] Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/08

From: Keisuke Minami <keisuke@rccn.com>

[#28617] Re: Ruby 1.6.2 リファレンスマニュアル — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/09

newです.

[#28618] Re: Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/09

From: "丹生 光則 Nibu,Mitsunori." <nibu@tec.osaka.jip.co.jp>

[#28622] Re: Ruby 1.6.2 リファレンスマニュアル — "丹生 光則 Nibu,Mitsunori." <nibu@...> 2001/03/09

newです.

[#28644] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/09

青木@横浜です。

[#28672] Re: Ruby 1.6.2 リファレンスマニュアル — rubikitch <rubikitch@...> 2001/03/10

From: Daisuke Aoki <dai@sweetparty.ne.jp>

[#28705] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/12

青木@横浜です。

[#28697] Re: Ruby 1.6.2 リファレンスマニュアル — Daisuke Aoki <dai@...> 2001/03/12

青木@横浜です。

[#28773] [Q] ChibiXML のサンプルみたいなもの — eda@...

えだです。

14 messages 2001/03/15
[#28782] Re: [Q] ChibiXML のサンプルみたいなもの — TAKAHASHI Masayoshi <maki@...> 2001/03/16

高橋征義です。

[#28852] Re: [ruby-ext:01642] Re: o_dbm — keiju@... (石塚圭樹)

けいじゅ@日本ラショナルソフトウェアです.

17 messages 2001/03/19
[#29368] Re: [ruby-ext:01642] Re: o_dbm — akira yamada / やまだあきら <akira@...> 2001/04/21

[#29431] Re: [ruby-ext:01642] Re: o_dbm — keiju@... (石塚圭樹) 2001/04/26

けいじゅ@日本ラショナルソフトウェアです.

[#29468] Re: [ruby-ext:01642] Re: o_dbm — akira yamada / やまだあきら <akira@...> 2001/05/01

[#28911] media watch 2001.03.22 — akira yamada / やまだあきら <akira@...>

27 messages 2001/03/22
[#28955] Re: media watch 2001.03.22 — Keisuke Minami <keisuke@...> 2001/03/24

こんばんは。三並です。

[#28974] Re: media watch 2001.03.22 — akira yamada / やまだあきら <akira@...> 2001/03/26

[#28993] Re: media watch 2001.03.22 — Noritsugu Nakamura <nnakamur@...> 2001/03/27

[#29023] 配列に要素を挿入 — Kenji Noda <zaq94465a@...>

野田と申します

15 messages 2001/03/30

[#29037] forwardable-1.0 release — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

25 messages 2001/03/30
[#29038] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/03/30

Toshです。

[#29042] Re: forwardable-1.0 release — matz@... (Yukihiro Matsumoto) 2001/03/31

まつもと ゆきひろです

[#29047] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/03/31

Toshです。

[#29057] Re: forwardable-1.0 release — keiju@... (石塚圭樹) 2001/04/02

けいじゅ@日本ラショナルソフトウェアです.

[#29060] Re: forwardable-1.0 release — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp> 2001/04/02

Toshです。

[ruby-list:28780] revenge of shell.rb

From: keiju@... (Keiju ISHITSUKA)
Date: 2001-03-15 17:29:24 UTC
List: ruby-list #28780
けいじゅ@日本ラショナルソフトウェアです.

もう話がでていますが...

ムカーシ, shell.rb というのをだしました[ruby-list:7262]. 松本さんも大絶
賛で[ruby-list:7263], つい最近まで標準添付ライブラリになっていたのですが...
知らないうちに標準添付から外されていまいました(;_;

というのも不完全なところがあったからなんですが...

ということで, 完全版(に近いやつ)を出します. 

# で, 標準復帰を願うと

ものは, 今は懐かしい, ftp.netlab.co.jpのin.coming に shell-0.5.6.tgz で
おきました. 松本さん, すいませんがcontribに移動願えますか? そしたら,
RAAに登録できます(__;;;;

だいぶ昔のことなので, shell.rb がどいうものなのかがわからない方がいらっ
しゃるかも知れませんので, 簡単に説明します(アーカイブの方にはもっと詳し
いドキュメントが入っています).

では. 

あ. そうそう. Rubyは最新版 1.7.0(2001-03-14)が必要です. 
# 1.6系の最新版でもOKなのかな?

##-- ここから
目的: sh/cshのようにコマンドの実行及びフィルタリングを気軽に行いたい.

sh/cshには制御文があるがそれはrubyの機能をそのまま用いる.

ex0)
まず, OSのコマンドをShellクラスに定義するメソッドが用意されています. 

  Shell.def_system_command("sys_ls", "ls")
  Shell.def_system_command("sys_sort", "sort")
  print sh.sys_ls.sys_sort.to_a

また, いちいちコマンドを定義するのが面倒くさい人のために,

  Shell.install_system_commands(prefix)

というのも用意されています. これはパス上にある全ての実行可能ファイルを登
録するものです(でも, さすがに初期化に時間がかかる).

ex1)

Shellオブジェクトはここのオブジェクトごとにカレントディレクトリを持ちま
す. File, Dir, FileTestにあるファイル操作コマンドはそのカレントディレク
トリを基準に実行します.

  sh = Shell.cd("/tmp")
  sh.mkdir "shell-test-1" unless sh.exists?("shell-test-1")
  sh.cd("shell-test-1")
  for dir in ["dir1", "dir3", "dir5"]
    if !sh.exists?(dir)
      sh.mkdir dir
      sh.cd(dir) do
	f = sh.open("tmpFile", "w")
	f.print "TEST\n"
	f.close
      end
      print sh.pwd
    end
  end

だいぶ簡単になってかつshellっぽいですよね? 

ex2)

さらに以下のような感じにもできるようになっています. ますますshellポイで
すね.

  sh = Shell.cd("/tmp")
  sh.transact do
    mkdir "shell-test-1" unless exists?("shell-test-1")
    cd("shell-test-1")
    for dir in ["dir1", "dir3", "dir5"]
      if !exists?(dir)
	mkdir dir
	cd(dir) do
	  f = open("tmpFile", "w")
	  f.print "TEST\n"
	  f.close
	end
	print pwd
      end
    end
  end

# 実はShell#transact は instance_evalに毛がはえたものですが(^^;;;

ex3)

さらに, 以下のようなこともできるようになっています.

  sh.cat("/etc/printcap") | sh.tee("tee1") > "tee2"
  (sh.cat < "/etc/printcap") | sh.tee("tee11") > "tee12"

以前は:

# ">>"の演算子の優先順位が ``|''より高いので,
#
#    sh.cat("/etc/printcap") | sh.tee("tee1") >> "tee2"
#
# は思ったようには動作しません.

という制約がありましたが,

ex4)

これも解決しています.

  sh.cat("/etc/printcap") | sh.tee("tee1") >> "tee2"
  (sh.cat < "/etc/printcap") | sh.tee("tee11") >> "tee12"

ex5)

さらに, Shell#catなどはShell::Filterのサブクラスのインスタンスを返すの
ですが, これらのクラスはEnumerableをincludeしていますので,

  print sh.cat("/etc/passwd").head.collect{|l| l =~ /keiju/}

みたいなこともでき, 通常のrubyのプログラミングも楽しめるようになってい
ます

## 完璧ですね(^^;;;

ex6) 

さらにさらに, irb上で実行するとほとんどシェルのようです. 実行のイメージ
は... 実際に実行してみてください.

##-- 

あと, 旧版で問題だった, コマンドのシリアライズなどの問題も解決しています
([ruby-list:9142], [ruby-list:9147]). ちなみに解決法は, 松本さんの案
([ruby-list:9157], [ruby-list:9165], [ruby-list:9167])あたりで話題が出て
きています.




__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread

Prev Next