[#46143] るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果 — eiichi_maekawa@...

62 messages 2009/07/02
[#46153] Re: るびま 標準添付ライブラリ紹介 第3回のサンプル EUC-JPの結果 — "NARUSE, Yui" <naruse@...> 2009/07/03

成瀬です。

[#46165] Re: に関する1.8.6→1.8.7または、1.9へのバージョンアップ — eiichi_maekawa@... 2009/07/05

前川です。

[#46281] rubyの変数の扱いについて — "前川 映一" <eiichi_maekawa@...> 2009/08/17

前川です。

[#46283] Re: rubyの変数の扱いについて — "(株)ネットフォレスト 植田裕之" <ueda@...> 2009/08/17

植田と申します。

[#46146] 文字変換 — eiichi_maekawa@...

16 messages 2009/07/03
[#46147] Re: 文字変換 — Hidetoshi NAGAI <nagai@...> 2009/07/03

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

[#46148] Re: 文字変換 — eiichi_maekawa@... 2009/07/03

前川です。

[ruby-list:46155] Re: メソッドArgumentのParenthesisについて

From: rubikitch@...
Date: 2009-07-03 13:29:40 UTC
List: ruby-list #46155
From: Shingo Hagiwara <rindou@gmail.com>
Subject: [ruby-list:46154] メソッドArgumentのParenthesisについて
Date: Fri, 3 Jul 2009 21:51:04 +0900

るびきちです。

> Source補完機能を使ったとき、メソッドで「()」付きで補完される場合と、
> 「()」無しで補完される場合があります。
> 例えばですが、
> hoge arg1 arg2
> と補完される場合と、
> foo(arg1, arg2)
> と言う場合があると言うことです。
>
> この括弧の省略ができるというのは知っているつもりなのですが、
> この二つに何か差異はあるのでしょうか?

hoge arg1 arg2
ではなくて
foo bar arg1
ではないかと?
そのときは
foo(bar(arg1))
と同じ意味です。

hoge arg1, arg2
と
hoge(arg1, args2)
は等価です。

hogeとかfooではなくて実際のコード例を見てみたいものです。

> また、括弧を構文的に付けないことを許している理由はなんなのでしょうか?
> 個人的には括弧を付けないとBasicを思い出して非常に気持ちが悪い気がします。

記号を多くしすぎないことが理由だったと思います。
このおかげで可読性を上げることができます。

たとえば、Rakefile(Ruby版make)には、こんなふうに書けます。
ふつうのRubyスクリプトですが、括弧が省略可能なことと、ブロック構文の
絶妙な美しさのおかげで、設定用ミニ言語のように見えます。

file "foo.o" => "foo.c" do
  sh "gcc -c foo.c"
end

もし、括弧を全部つけてしまうと、

file({"foo.o" => "foo.c"}) do
  sh("gcc -c foo.c")
end

となり、見辛くなってしまいます。

もし、Rubyが括弧省略不可能でガチガチな言語ならば、好きになれません。
--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/
Twit: http://twitter.com/rubikitch/
『Ruby逆引きハンドブック』 http://d.hatena.ne.jp/rubikitch/20090525/rubybook

In This Thread