[#41455] オブジェクト同士の演算などを実装するには? — Hideo Konami <konami@...>

小波です.

24 messages 2005/11/02
[#41457] Re: オブジェクト同士の演算などを実装するには? — rubikitch <rubikitch@...> 2005/11/02

From: Hideo Konami <konami@kyoto-wu.ac.jp>

[#41459] Re: オブジェクト同士の演算などを実装するには? — Hideo Konami <konami@...> 2005/11/03

小波です.

[#41461] Re: オブジェクト同士の演算などを実装するには? — IWAOKA Masahiro <iwaoka@...> 2005/11/03

いわおかです。

[#41489] Matrixの継承について — argento@...

はじめまして。吉田と申します。

25 messages 2005/11/06
[#41495] Re: Matrixの継承について — Yukihiro Matsumoto <matz@...> 2005/11/06

まつもと ゆきひろです

[#41497] Re: Matrixの継承について — "T.Y" <argento@...> 2005/11/07

るびきち様、まつもと様

[#41499] Re: Matrixの継承について — keiju@... (石塚圭樹) 2005/11/07

けいじゅ@いしつかです.

[#41529] Re: Matrix の継承について — Shin-ichiro HARA <sinara@...> 2005/11/12

原です。

[#41535] Re: Matrix の継承について — keiju@... (石塚圭樹) 2005/11/14

けいじゅ@いしつかです.

[#41536] Re: Matrix の継承について — Yukihiro Matsumoto <matz@...> 2005/11/14

まつもと ゆきひろです

[#41537] Re: Matrix の継承について — keiju@... (石塚圭樹) 2005/11/14

けいじゅ@いしつかです.

[#41538] Re: Matrix の継承について — Yukihiro Matsumoto <matz@...> 2005/11/14

まつもと ゆきひろです

[#41503] 数を減らしてくループ — Takeshi Horinouchi <horinout@...>

堀之内と申します。

13 messages 2005/11/08

[#41602] エクセルファイルを読み込む際の問題(質問) — "Hisashi Yahata" <yahatah@...>

質問で恐縮ですが、ご教示ください。

14 messages 2005/11/28

[#41624] MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...>

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

26 messages 2005/11/30
[#41625] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/01

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

[#41627] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/01

天野竜太郎と申します。

[#41636] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/02

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

[#41637] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/02

8.4.10のtcl.hやtk.hは、

[#41644] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/03

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

[#41646] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/03

> Tcl/TkAqua もこの Macintosh のルールに従うのであれば

[#41647] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/03

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

[#41649] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/03

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

[#41650] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/04

天野です。

[#41651] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/04

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

[#41653] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/04

[#41658] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/04

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

[#41663] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/04

完全に私の勘違いです。

[#41664] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — Hidetoshi NAGAI <nagai@...> 2005/12/05

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

[#41665] Re: MacOS X Aqua 対応のための tcltklib の extconf.rb — 天野 竜太郎 <wn9r-amn@...> 2005/12/05

ruby-list:41651の

[ruby-list:41519] Re: カプセル化のソースについて

From: Shinya Kawaji <kawaji@...>
Date: 2005-11-08 16:48:57 UTC
List: ruby-list #41519
かわじ、です。


> オブジェクト指向スクリプトRuby(書籍)
> アスキー出版局 (まつもとゆきひと/石塚 圭樹)
> 4000円+税
> 
> のP167のカプセル化のところでソースをそのまま入力しても
> エラーが出ます。

私も最初の頃は、プログラム経験が浅かったこともあり、この本を読み通すのに
苦労した覚えがありますが、その直前の箇所で

  ここではスタックは以下の 3つの手続きでアクセスできるものとします

と書かれている通り、このコードは「仮の話」で、実際の Rubyのコードとは
違います。

もう少し読み進めると分かりますが、ここの節は、

  4.1 オブジェクト指向プログラミングとは

となっており、オブジェクト指向プログラミングの「一般的な話」をしていて、
実際の Ruby の場合がどうなっているかは、次の

  4.2 Rubyのオブジェクト指向機能

で、紹介されています。

しかし、

> 上記の本よりソースを引用
> 
>      stack=stack_new()
>      stack_push(stack,1)
>      stack_push(stack,2)
>      stack_push(stack,3)
> 
>      print stack_pop(stack),"\n"
>      print stack_pop(stack),"\n"
>      print stack_pop(stack),"\n"
> 
>     //EOF

というコードそのものの Rubyバージョンは(今、本をチラッと見た限りでは)載っ
てないように思いますので、書いてみるとしたら、以下のような感じでしょうか。

# Stack クラス - メソッドは、push と pop のみ
class Stack
  def initialize
    @stack = []
  end
  def push(val)
    @stack.push(val)
    return self
  end
  def pop
    return @stack.pop
  end
end

# 新しいスタックを生成
stack = Stack.new

# スタックにデータを追加
stack.push(1)
stack.push(2)
stack.push(3)

# スタックからデータを取り出し
print stack.pop, "\n"
print stack.pop, "\n"
print stack.pop, "\n"


頑張ってください。



In This Thread