🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.ruby
Article #10

Re: ruby vs python?? ^^;;; (Re: send POST request with telnet)

#10
From: Shugo Maeda
Date: Tue, 03 Mar 1998 00:00
72 lines
3733 bytes
前田です。

# そろそろfj.lang.perlははずしません?

suzuki@otsl.co.jp (SUZUKI Hisao) wrote:

|ところが ruby の yield は,していることは CLU と結局は同等だとし
|ても,概念的にはむしろ引数として渡された関数の呼出しとして理解す
|るのが分かりやすいものなんですよね。最初 ruby の yield を見たと
|き,それが関数呼出しみたいに戻り値をもってくるということを知った
|時点で目が点になりました。名前を拝借(?)した以外,とても CLU 等か
|らひっぱって来たもののようには思えませんでした。

このおかげでsubみたいなイテレータの使い方がでてきたので、これは
大きいですよね。
# このおかげでイテレータという名前がふさわしくなくなってきたとも
# 言えますね。

|reload はどうでしょうか? モジュールをロードし直すものです。

unloadができないので定数定義とかがあるとまずいのですが、
一応loadを使えば何回もロードします。
requireの場合は一度しかロードしません。

|そうすると,もちろん定義されているクラスの一覧,モジュールの一覧,
|大域変数の一覧もとれますよね?

クラスの一覧は

ObjectSpace.each_object(Class) do |klass|
  ...
end

のようにイテレータでとれます。
モジュールは、

ObjectSpace.each_object(Module) do |mod|
  unless mod.kind_of?(Class)
    ...
  end
end

みたいにしないといけません。
Class.ancestors.include?(Module) == trueなので...。

大域変数の一覧はとれなかったような気がします。

|>  (3) これはできません.そういうのは言語に組み込むものではな
|>      いと思ったからです.特にインタプリタが大きくなるのを嫌
|>      いました.
|
|Python が __doc__ 属性をどうやって設定するのか確認しましょう。
|Emacs Lisp (全世界で最も広く使われている Lisp の一つ :-) と同じ
|く,定義本体の最初にリテラル文字列があった場合,それを説明文書と
|して取り込むのです。インタープリタとしては,コメントを読みとばす
|だけの手間とそう変わりません。

Pythonが定義本体の最初の文字列リテラルを特別に扱うのと、Rubyがifの
正規表現リテラルを特別に扱うのは、似てません?
Rubyが文字列処理に特化した機能を持っているのと同じように、Pythonも
対話的環境に特化した機能を持っているわけですね。
もっとも僕はそれが悪いことだとは思いませんが...。

# 実は以前Pythonのドキュメント機能のようなもの(その時はLispを
# 意識していたのですが)をリクエストしたことがあるのですが、
# その時もまつもとさんは乗り気ではありませんでした。
# まつもとさんはドキュメントを書くのがあまり好きではないという
# 要素も大きいような(^^;

-- 
前田 修吾
Technical Details
Message-ID: <8667lwidxf.fsf@totally-fudged-out-message-id>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <864t1qerg8.fsf@soleil.localnet.or.jp> <7szpjgjw41.fsf@sdd.tokyo-sc.toshiba.co.jp> <86sop8fall.fsf@soleil.localnet.or.jp> <SUZUKI.98Feb26123600@oz.otsl.oki.co.jp> <86u39mptwb.fsf@soleil.localnet.or.jp> <SUZUKI.98Mar2082701@oz.otsl.oki.co.jp> <lvn2f9snj7.fsf_-_@picachu.netlab.co.jp> <SUZUKI.98Mar3121150@oz.otsl.oki.co.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 13488f,68272ddf24459300
X-Google-Attributes: gid13488f,public
X-Google-Thread: 10b195,e314ac8e08c3e27f,start
X-Google-Attributes: gid10b195,public
From: shugo@po.aianet.ne.jp (Shugo Maeda)
Subject: Re: ruby vs python?? ^^;;; (Re: send POST request with telnet)
Date: 1998/03/03
Message-ID: <8667lwidxf.fsf@totally-fudged-out-message-id>
X-Deja-AN: 330276248
References: <864t1qerg8.fsf@soleil.localnet.or.jp> <7szpjgjw41.fsf@sdd.tokyo-sc.toshiba.co.jp> <86sop8fall.fsf@soleil.localnet.or.jp> <SUZUKI.98Feb26123600@oz.otsl.oki.co.jp> <86u39mptwb.fsf@soleil.localnet.or.jp> <SUZUKI.98Mar2082701@oz.otsl.oki.co.jp> <lvn2f9snj7.fsf_-_@picachu.netlab.co.jp> <SUZUKI.98Mar3121150@oz.otsl.oki.co.jp>
Content-Type: text/plain; charset=ISO-2022-JP
X-Emacs: Emacs 20.2, MULE 3.0 (MOMIJINOGA)
Organization: AIANet Internet Service
Mime-Version: 1.0 (generated by SEMI MIME-Edit 0.100 - "Otomaru")
Newsgroups: fj.lang.ruby,fj.lang.misc