[#33732] 文字列の式展開について — Masao Mutoh <mutoh@...>

むとうです。

14 messages 2002/02/03
[#33733] Re: 文字列の式展開について — Tietew <tietew-ml-ruby-list@...> 2002/02/03

[#33745] Re: 文字列の式展開について — Masao Mutoh <mutoh@...> 2002/02/04

むとうです。

[#33746] Re: 文字列の式展開について — Take_tk <ggb03124@...> 2002/02/04

たけ(tk)です。

[#33762] WebDAV client — HIDAKA Takahiro <cv8t-hdk@...>

 ひだかです。

15 messages 2002/02/05

[#33793] 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

48 messages 2002/02/08
[#33794] Re: 右辺の値なしでも実行可能? — Tietew <tietew-ml-ruby-list@...> 2002/02/08

[#33797] 変数の宣言 — Yasuhiro Hayase <hayase@...> 2002/02/08

早瀬@大阪大学基礎工学部情報科学科 です。

[#33798] Re: 変数の宣言 — matz@... (Yukihiro Matsumoto) 2002/02/08

まつもと ゆきひろです

[#33839] Re: 変数の宣言 — Yasuhiro Hayase <hayase@...> 2002/02/11

早瀬@阪大です。

[#33840] Re: 変数の宣言 — Tanaka Akira <akr@...17n.org> 2002/02/11

In article <20020211224442.48d0e668.hayase@hcn.zaq.ne.jp>,

[#33841] Re: 変数の宣言 — nobu.nakada@... 2002/02/11

なかだです。

[#33845] Re: 変数の宣言 — shudo@... 2002/02/12

> > > あえて宣言文の途中で、代入前に変数の値を使った場合にエラーを出そうと思うと、

[#33847] スクリプト言語 (Re: 変数の宣言 ) — TAKAHASHI Masayoshi <maki@...> 2002/02/12

高橋征義です。

[#33850] Re: スクリプト言語 (Re: 変数の宣言 ) — Takaaki Tateishi <ttate@...> 2002/02/12

At Tue, 12 Feb 2002 13:27:58 +0900,

[#33871] Re: スクリプト言語 (Re: 変数の宣言 ) — TAKAHASHI Masayoshi <maki@...> 2002/02/12

Takaaki Tateishi <ttate@kt.jaist.ac.jp> wrote:

[#33795] Re: 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

13 messages 2002/02/08

[#33807] Re: 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

38 messages 2002/02/08
[#33824] Re: 右辺の値なしでも実行可能? — "jihg" <jihg@...> 2002/02/08

jihg です。新入りです。

[#33825] Re: 右辺の値なしでも実行可能? — Tanaka Akira <akr@...17n.org> 2002/02/08

In article <000001c1b0c1$04eca980$b7d08bcb@soteccomputer>,

[#33831] Re: 右辺の値なしでも実行可能? — "jihg" <jihg@...> 2002/02/09

> Pseudo-Simplicity(擬似単純性)

[#33853] arguments for def [Re: 右辺の値なしでも実行可能? ] — Masaaki Sakano <mas@...> 2002/02/12

坂野 正明と申します。

[#33856] Re: arguments for def [Re: 右辺の値なしでも実行可能? ] — shukaku@... 2002/02/12

At Tue, 12 Feb 2002 19:14:03 +0900,

[#33867] Re: arguments for def [Re: 右辺の値なしでも実行可能? ] — Masaaki Sakano <mas@...> 2002/02/12

坂野 正明です。

[#33846] quickml サーバ — Satoru Takabayashi <satoru@...>

高林と申します

22 messages 2002/02/12
[#34082] SlowML /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/25

るびべん です:

[#34086] Re: SlowML /Re: quickml サーバ — matz@... (Yukihiro Matsumoto) 2002/02/26

まつもと ゆきひろです

[#34100] Re: SlowML /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/27

るびべん です:

[#34117] SlowML 実装実験 /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/27

るびべん です:

[#33966] 「たまてばこ」開発版が SecurityE rror — dellin <dellin@...>

dellinといいます。

17 messages 2002/02/18
[#33968] Re: 「たまてばこ」開発版が SecurityError — nobu.nakada@... 2002/02/18

なかだです。

[#33972] world writeable dir (Re: 「たまてばこ」開発版が SecurityError) — Kazuhiro NISHIYAMA <zn@...> 2002/02/18

西山和広です。

[#34053] 漢数字 -> 数 — TOYOFUKU Chikanobu <toyofuku@...>

豊福です。

18 messages 2002/02/25

[#34056] ruby-dev summary — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

16 messages 2002/02/25

[ruby-list:33956] Re: [Summary]arguments for def

From: "jihg" <jihg@...>
Date: 2002-02-17 13:04:25 UTC
List: ruby-list #33956
jihg です。4位。フィンランド良すぎ。アメリカは地の利。日本は...

From: Masaaki Sakano [mailto:mas@star.le.ac.uk] 
Subject: [ruby-list:33927] Re: [Summary]arguments for def

>+       	next if /^\s*\&/ =~ ss
>+       	ss.sub!(/^\s*\*/,'')
>          ss.gsub!(/(.+?)\s*(?:$|=.*)/){ $1 }

おざなりに作ったのがばればれ。

>!   puts "(#{count})count."

puts はメソッドの意識が強くて、こういう使い方には抵抗あるんで。o.puts と
して、ついでに引数を括弧で囲むと抵抗感がなくなるんだけど、他人が見たら分
かりにくそうだし。print だといつも \n 付け忘れるから...妥協して、o.puts
(括弧なし)を使うことにしてみる。

>○=制約
>  def abc (a)
>    b=a
>    b.xxx!
>は検出できませんね(多重代入まで考えるともっと複雑!)。

こういうのもだめですね。

  def func(a)
    (a) << "break!"           # 警告
  end

  def func(a ,b ,c)
    (a ? b : c) << "break!"   # 警告
  end
  
  def func(a ,b ,c)
    if a
      b
    else
      c
    end << "break!"                        # 警告
  end

制約ですね。

(a) << "break!" くらいは何とかなるかも。ほかは感度を鋭くしないと検出でき
ない。トップレベルでの破壊的メソッドのことも考えると...。

ところで、

>    b=a
>    b.xxx!

これは破壊的メソッドの問題というより、代入の問題といったほうが良いでしょ
うね。つまり、

	a = "abc"
	b = a
	b << "break!"
	# a = "abc"
	# b = "abcbreak!"

を期待している可能性がある。

Ruby の初心者か、C や VBx 等と使い分けている人にありがちな記述ですね。

検査するとしたら、こういうのを見分ける。

  def func(a ,b ,c)
    x = a                   # 警告
    x ,y ,z = a ,b ,c	    # 警告
    x ,y ,z = [ a ,b ,c ]   # 警告
    x = [ a ]               # 警告
    x ,y ,z = [ a ]         # 警告
    x = { "key" => a }
    x = y[a]
    x = "a"
    x = "abc"
    x = "This is a pen."  #...
  end
    x = a
    x ,y ,z = a ,b ,c

※へんなのが入ってるけど、試しに書いたのがこれにヒットしてたということ
で、デバッグ用。

xUnit  や debug.rb に任せたほうがいいのかな。

分かってるつもりで見逃すのが怖いんだ。頭の中で考えてるとき、馴染みのある
言語で考えるから。これがオブジェクト指向 風 言語だと、気づくのに時間がか
かる。Ruby は 真 オブジェクト指向だと唱えながら考えないとうっかりやって
しまう。

In This Thread

Prev Next