[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 19:54 / Filesize : 194 KB / Number-of Response : 889
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】



1 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 10:48:30 ]
最強のLL=軽量プログラム言語は、どれよ?

エントリーは、
Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!

■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。

現在の水準では
・インタプリタ
・動的型
・正規表現
・関数オブジェクト
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)

■過去スレ
【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1238720336/
【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1234635513/
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1215319832/
【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1209289408/
【Perl,PHP】LLバトルロワイヤル【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1188997302/

610 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 06:35:40 ]
@tmpと%tmp、前者が配列で後者がハッシュであることは一目瞭然。@tmp_listや$tmp_map等とする必要はない。

611 名前:デフォルトの名無しさん [2009/07/15(水) 07:25:14 ]
配列とハッシュが同じ名前になる場合よりも
@tmp_A, @tmp_B みたいな名前の使い方が多いから、
それがメリットだとしても機会は少ないな。

612 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 07:43:40 ]
@tmp は文脈により要素数だったりするので配列とは限らない

613 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:01:49 ]
ん?
@tmpは配列だろ?scalar(@tmp) はスカラだが。
ちなみにscalar(%tmp)は楽しいことになる。Perl大好き。

614 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:14:22 ]
>>608
PPPRってなんぞ

615 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:16:53 ]
$a # スカラ

@a # 配列
$a[index] # 配列の要素 = スカラ
@a[indices] # 配列のスライス = リスト

%a # ハッシュ
$a{key} # ハッシュの要素 = スカラ
@a{keys} # ハッシュのスライス = リスト


この美しさわかんねえかなあ…

リストをスカラ評価すると長さになってしまうのは、
たしかに気持ち悪いがそれとこれは別の話だと思う。

616 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:22:39 ]
>>596
もうなんとか用の言語って時代じゃないだろ。もう役目を終えたよ、Perlは。

617 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:23:32 ]
>>615
それは別の話ってのに異存ないが、まあ今はコンテキストの話なので、
その気持ち悪さが問題になってるんじゃね?

618 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:31:40 ]
@$$#tmp



619 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:44:38 ]
使い捨て言語で君も使い捨てに!

620 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:50:10 ]
>>615
>@a{keys} # ハッシュのスライス = リスト
これが有効に使えるときなんかあるの?


621 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:53:09 ]
>>616
DSLがどうこうという時代なんだが?


622 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:53:15 ]
>>607
>$や@を使うのは、ハンガリアン記法要らずで、分かりやすく便利。
使うデータが文字列と配列とハッシュだけだった時代ならそれでもいいけど
オブジェクト指向が一般的になった現在において、この仕様はクソだよ。
それがわからないPerlerが不憫でしょうがない。

623 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:59:08 ]
>>622
しょうがないだろ。アヒルのように最初に覚えた言語をry

624 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:49:36 ]
>>598
話がぜんぜん違う方向に進んだね。
もとの話は$var[]が配列の要素を返し、@var[..]は配列の範囲を返すのが、いけてないしわかりにくという話だったんだけど。
別にこんなことで@varと$varを使い分ける必要なんかなく、どっちも@var[]でできるようにすれば
誰にもわかりやすいのに、Perlはそうなってないから変だよねという話が、
いつのまになんで範囲指定の方法の話になっちゃったんだろう。



625 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:49:19 ]
とりあえず、
配列の要素をスカラーとして取り出す方法と、
そのスカラー1個だけを要素とする配列を作る(スライスする)方法は
別々に用意した方が言語仕様的にはいいんじゃないのか?

626 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:51:58 ]
Python なら、
a = range(5) # [0,1,2,3,4]
b = a[3] # 3
c = a[3:4] # [3]

627 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:00:22 ]
d = a[slice(3, 4)] # [3]

628 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:29:15 ]
>>620
ハッシュに代入するとき役に立つ。



629 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:39:31 ]
>>620
ハッシュから複数の値を取り出すときに使う

630 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:41:12 ]
# Ruby

a = (0..4).to_a # [0,1,2,3,4]
a = (0...5).to_a # [0,1,2,3,4]
p a[3] # 3
p a[3..3] # [3]
p a[3...4] # [3]
p a[3,1] # [3]
p a[-2] # 3
p a[-2..-2] # [3]
p a[-2...-1] # [3]
p a[-2,1] # [3]

631 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:06:17 ]
>>628
kwsk

632 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:20:37 ]
急に書き込みが増えたねw

633 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:41:07 ]
>>630
なにそれこわい

634 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:47:45 ]
どの言語であれ、配列をスライスする処理なんか、一年に一度も書かないが。

635 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:17:31 ]
>>631
@names = ("Alica", "Bob", "Chris")
@ages{@names} = (28, 31, 72);

$ages{"Alice"} == 28

636 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:31:54 ]
何故にアリカ?

637 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:51:53 ]
@names = ("Alica", "Bob", "Chris");
@ages{@names} = (28, 31, 72);
print %ages;
@ages{'Chris','Bob'} = (34, 37);
print %ages;
Bob31Chris72Alica28Bob37Chris34Alica28

638 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 18:30:03 ]
>>637
なるほど。勉強になった。

機会はなかなかなさそうだけど、
使い道はちゃんとあるんだな。




639 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:46:22 ]
>>622
どんなにオブジェクト指向を強くしたところで、プリミティブ型や配列型のないプログラミングなどあり得ない。
スカラ変数とリファレンスを分けるシジルがあればより便利だということに過ぎない。何もないよりずっといい。
>>610の$tmp_mapは%tmp_mapの間違いだが、これはPerlであればコンパイルエラーを起こすので、未然にバグを防げる。

640 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:02:44 ]
記号の付け間違いなんてバグは、その仕様がなかったらそもそも起こらないだろ

641 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:04:26 ]
配列にアクセスしているつもりが、その変数はハッシュだったということ。誰にでもよくあるミス。

642 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:26:05 ]
>637を見て、
「さすがPerl、記述性が高い」と感じるのがperler。
「滅多に書かない記述の為に文法が歪められてる」と感じるのが一般人。

643 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:32:01 ]
>>642
Pythonistaは、Pythonではどうするか考える。
names = "Alica Bob Chris".split()
ages = dict(zip(names, (28, 31, 72)))
print ages
ages.update(Chris=34, Bob=37)
print ages

644 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:59:35 ]
ハッシュのスライスって初めて聞いたがそんなのあったんだな。
ただ、スライスのイメージとちょっと違うな。ハッシュの範囲指定だと、キーがある正規表現にマッチする集合とかならわかるけど。

645 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:40:06 ]
>>644

%h = ('hoge'=>1, 'page'=>2, 'moga'=>3, 'guge'=>4);
@a = @h{grep {/ge/} keys(%h)};

まさにそういう事をしやすくするためにPerlは柔軟なリストなわけで。
まあ、高尚な原理や理論より便利(っぽ)さ上等

646 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:09:14 ]
>>645
結果もハッシュで欲しいならこうかな

my %h2;
my @keys;
@h2{@keys} = @h{@keys=grep{/ge/}keys(%h)};

まあなんだ。面白いんだが、こういったことをやりすぎると
読みにくくなるのは否めないという

647 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:13:35 ]
ttp://anond.hatelabo.jp/20090617130518

648 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:27:08 ]
10 == "0x0A"
がtrueで
"0x0A" == 10
がfalseになるスクリプト言語はありだと思う



649 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:29:07 ]
>>647
これが「コンテキスト」の上を行く「場当たり」って奴か
勉強になるな〜

650 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:34:05 ]
この8進数はねぇよ・・・

でも、PHPのこのいい加減な解釈ってずいぶんお世話になってるなぁ自分

651 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:44:46 ]
var_dumpで出るのは格納してる型であって、==で比較される時に自動で解釈されるんだよな

652 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:48:25 ]
>>648

問題は常にそう解釈されるのでは無く
PHP自身がどのようにコンパイルされたか
という環境によって動作が異なることに在る

653 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:48:40 ]
不安なときは===を使えというのがPHPとJSのお約束

654 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:14:51 ]
多言語だと軽くスルーできるMap/Vectorの話でこんなに混乱してるってのは結局便利じゃねーん
だろうなって思うw

655 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:34:37 ]
codezine.jp/article/detail/4065

656 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:39:24 ]
配列のスライスがあるんだから、ハッシュのスライスもあるだろうと思うのは自然なことだろ。

657 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:15:49 ]
>>656
似たようなことができるようになってるだけで、
根本的には概念が違う気がする。

リストの2〜3番目に、10要素を代入するとかできるからスライスってのが便利なわけで。

658 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 03:34:55 ]
>>639
>どんなにオブジェクト指向を強くしたところで、プリミティブ型や配列型のないプログラミングなどあり得ない。
>スカラ変数とリファレンスを分けるシジルがあればより便利だということに過ぎない。何もないよりずっといい。

何をいいたいのかまるでわからない。プリミティブ型や配列型を排除しろとは誰も言ってないし、うーん。
@tmpがリスト、%tmpがハッシュ、で、それ以外のデータ構造を使ったら$tmp

べつに、ぜんぶ$tmpで統一してくれていいんだけど。

>>>610の$tmp_mapは%tmp_mapの間違いだが、これはPerlであればコンパイルエラーを起こすので、未然にバグを防げる。
これもなにがどうエラーになるのか不明なので、解説よろしく。

つーか、もちっとわかりやすい文章書こうぜ。Perlerだから仕方ないけど。




659 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 03:38:10 ]
JSON

660 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 04:49:21 ]
>>657
部分集合の操作が近いかもね。
perlのハッシュスライスの書式は座標が直感的に使えるからか、
概念増やすのが面倒で配列スライスに似せたのかのどちらかのように思う。

perl
my %color = (R => 0, G => 0, B => 0);
@color{'R', 'G', 'B'} = (63, 127, 255);
print @color{'R', 'G', 'B'};

ruby
color = {'R' => 0, 'G' => 0, 'B' => 0}
color.replace({'R'=>63, 'G'=>127, 'B'=>255})
p color.values_at('R', 'G', 'B')

661 名前:デフォルトの名無しさん [2009/07/16(木) 11:25:27 ]
Perlerはバカにされやすいからな。がんばって難しく言おうとしちゃうんだよ

662 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 11:51:27 ]
$ perl
my %color = (R => 0, G => 0, B => 0);
@color{'R', 'G', 'B'} = (63, 127, 255);
print @color{'R', 'G', 'B'};
63127255

$ ruby
bash: ruby: command not found

$ python
>>> color = dict(R=0, G=0, B=0)
>>> [color.__setitem__(k, v) for k, v in [('R', 63), ('G', 127), ('B', 255)]]
[None, None, None]
>>> print [color[k] for k in color]
[255, 63, 127]


663 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 11:58:29 ]
>>662
color.update( (k,v in [('R', 63), ('G', 127), ('B', 255)]) )
の方がPythonicなんじゃない?

664 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:13:22 ]
NameError: name 'k' is not defined


665 名前:デフォルトの名無しさん [2009/07/16(木) 13:18:12 ]
ここが言語を比較できる僕かっけースレですか

666 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:18:40 ]
color.update([('R', 789), ('G', 456), ('B', 123)])
print map(lambda k: color[k], ('R', 'G', 'B'))


667 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:19:42 ]
yes you does

668 名前:デフォルトの名無しさん [2009/07/16(木) 13:20:58 ]
doesだってwww



669 名前:デフォルトの名無しさん [2009/07/16(木) 13:22:30 ]
thestar.com.my/english/story.asp?file=/2009/3/13/lifefocus/3446185&sec=lifefocus

670 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:13:18 ]
334 :可愛い奥様:2007/06/26(火) 09:46:19 ID:raxdPvfD0
OLだった頃、会社で働いていた日本に超詳しいベルギー人が言ったことに納得してた。
日本文化は身内受けの凝り性文化だそう。
外国文化に負けまいとしているのではなく、
世に意図的にインパクトを与えようとしているのでもなく、
今ここにいる同じ価値観を共有する仲間からの喝采を浴びたいと考える。
その結果、同じものを志す者同士の「これすごいだろ、おもしろいだろ」合戦が始まり、
そこで生み出される物が自然と研ぎ澄まされていく。
でもその競争は、敵対的なものではなく、お互いを尊敬しあいながら、静かに深く進行していく。

そしてある日、偶然目撃した異文化出身の人間(外国人)から、
それがすごいものであることを知らされる。
ほとんどの日本人はその日が来るまで、自分たちが作り上げた物がすごいものとは知らない。
もろもろの伝統文化、芸能、電化製品、アニメ、他、みんな同じパターンで世界に広まっていった。
だから、日本がここまで発展してきたのも必然的なものだし、
この精神が衰えない限り、これからも日本は誰に頼まれることもなく、
知らないうちに勝手に世界にインパクトを与え続けていくだろうと。

671 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:17:34 ]
英語について 「Do」と「Does」は何を区別して、使い分けるのでしょうか?
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1320176013

「Does you play golf?」
これは間違いだとおもいます。

「Does your father play golf?」

ならあってます。

でも口語や歌詞などで
She don't know.
なんてのも有りなんで、流行ってるのかも知れませんね。


672 名前:デフォルトの名無しさん [2009/07/16(木) 16:20:19 ]
Does youが有りだからyou doesも有りだと思ってる小学生www

673 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:20:50 ]
how foolish you are

674 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:24:34 ]
hows じゃね

675 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:33:54 ]
wish you were dead

676 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:58:26 ]
use English;

677 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 20:54:33 ]
By the way, please listen to me. This doesn’t have any relevance about that.
Few days before, I went to the Yoshinoya in my town. Yoshinoya.
But I can't step in; because there are too many people. Then looking around,
I found advertisement Curtain. It said "150 yen off"
Don’t come to the Yoshinoya which you don't generally come to, just because of only 150yen off.
You must be foolish or stupid! Oh! There is parent-and-child, and the Father of which is saying "I'm going to order Tokumori
Are you all eat in Yoshinoya? Congratulations! I can’t stand it ever more! I'll give you 150yen and please go away!
Yoshinoya should be more bloody & violent.
You cannot predict when the tow man face each other in the character table of U begins to fight. Stab or be stabbed.
This is the Yoshinoya. Women and Child, Go away! Don't exist in Yoshinoya.
Then, I could sit on the seat, the man in next seat ordered "Ohmori Tuyudaku"
That was sufficient reason to enrage me absurdly violently. Hey! You said Tuyudaku?
It’s perfectly out of date. It’s old fashioned Do you really want to eat Tuyudaku?
How foolish you are. I want to question you whether you really want to eat it or not.
I want to question you for one hour! You just want to say Tuyudaku.
In the side of expert of Yoshinoya, The newest fashion is "Negidaku" Year this is.
It has more negi but less meat. And put egg on this. This has no enemy.
Yes this is. But if your order this, your face must be memorized. It may be the sword of many edges.
I don't recommend to bigger. Gyuhsaketeisyoku may be fit on you.

678 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 20:56:39 ]
Why don't you talk about here?

>$ ruby
>bash: ruby: command not found




679 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:40:57 ]
        |リ u' }  ,ノ _,!V,ハ |
       /´fト、_{ル{,ィ'eラ , タ人        Ты думаешь, из меня,
     /'   ヾ|宀| {´,)⌒`/ |<ヽトiゝ      я не могу сказать.
    ,゙  / )ヽ iLレ  u' | | ヾlトハ〉
     |/_/  ハ !ニ⊇ '/:}  V:::::ヽ      Я не знаю,
    // 二二二7'T'' /u' __ /:::::::/`ヽ    что случилось.


680 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:42:17 ]
な、何を言ってるのかわからねー(以下略

681 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:57:57 ]
>676
それはツッコミかw

682 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:56:02 ]
for my $x (@{$self->{'ls_ref'}}) {

683 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:32:59 ]
for x in self.__ls_ref:

@ls_ref.each{|x|

684 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:45:18 ]
334 :可愛い奥様:2007/06/26(火) 09:46:19 ID:raxdPvfD0
OLだった頃、会社で働いていた日本に超詳しいベルギー人が言ったことに納得してた。
日本文化は身内受けの凝り性文化だそう。
外国文化に負けまいとしているのではなく、
世に意図的にインパクトを与えようとしているのでもなく、
今ここにいる同じ価値観を共有する仲間からの喝采を浴びたいと考える。
その結果、同じものを志す者同士の「これすごいだろ、おもしろいだろ」合戦が始まり、
そこで生み出される物が自然と研ぎ澄まされていく。
でもその競争は、敵対的なものではなく、お互いを尊敬しあいながら、静かに深く進行していく。

そしてある日、偶然目撃した異文化出身の人間(外国人)から、
それがすごいものであることを知らされる。
ほとんどの日本人はその日が来るまで、自分たちが作り上げた物がすごいものとは知らない。
もろもろの伝統文化、芸能、電化製品、アニメ、他、みんな同じパターンで世界に広まっていった。
だから、日本がここまで発展してきたのも必然的なものだし、
この精神が衰えない限り、これからも日本は誰に頼まれることもなく、
知らないうちに勝手に世界にインパクトを与え続けていくだろうと。

685 名前:デフォルトの名無しさん [2009/07/17(金) 23:26:08 ]
>>684
どう考えても褒めすぎ
今の日本は屑しかいない

686 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:50:20 ]
>>658
> >>639
> >どんなにオブジェクト指向を強くしたところで、プリミティブ型や配列型のないプログラミングなどあり得ない。
> >スカラ変数とリファレンスを分けるシジルがあればより便利だということに過ぎない。何もないよりずっといい。
>
> 何をいいたいのかまるでわからない。プリミティブ型や配列型を排除しろとは誰も言ってないし、うーん。
> @tmpがリスト、%tmpがハッシュ、で、それ以外のデータ構造を使ったら$tmp
> 。
> べつに、ぜんぶ$tmpで統一してくれていいんだけど。

何を言ってるわけ?
$tmpに統一って、$tmpしかないことは機能性の後退だろ。
Perlがシジルを使ってデータ型を表すこと、それはハンガリアン記法という広く普及してる変数命名法を言語レベルで保証しているということ。

> >>>610の$tmp_mapは%tmp_mapの間違いだが、これはPerlであればコンパイルエラーを起こすので、未然にバグを防げる。
> これもなにがどうエラーになるのか不明なので、解説よろしく。

お前、Perl知らないだろ?

> つーか、もちっとわかりやすい文章書こうぜ。Perlerだから仕方ないけど。
>

お前がアホだからというか、Perlを知らないからだろ?

687 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:55:47 ]
だいたい$tmpに統一なんて言い出すところからして、PHPだろ?PHPは、論外だから。

688 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:10:11 ]
Ruby脳的には、せっかく動的言語なんだから
型の決定は実行時に遅延させたいなあ
・・・・というわけなのかは知らんが、$やら@はスコープの表記に使っちゃった



689 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:47:28 ]
Ruby GJ!! www

690 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 09:11:43 ]
Rubyは何でカッコの省略を認めたのか。あれは最高に見づらい。変数だかメソッドだか分からない。

691 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 09:29:21 ]
分からなくていいじゃん

問題なのは関数渡しがまんどくさい

692 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 09:45:48 ]
いいわけないだろ。そのせいで、いちいちソースを追う羽目になるんだから。

693 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 10:25:16 ]
変数もメソッドも同じオブジェクトっていう発想は画期的なものなんだが。

694 名前:デフォルトの名無しさん [2009/07/18(土) 10:39:05 ]
$xxx = "Subject: =?SHIFT_JIS?B?W5FLXYNUg0ODZ5NvmF6CzY2hgqqStIFggqiTvoH0?=";
$xxx = mb_decode_mimeheader($subj);
$xxx = mb_convert_encoding($subj,"SJIS");
echo $xxx;

  ↓

Subject: [?]?????????????

になっちゃうんです。
どうしたらうまく変換できますか?

695 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 10:39:10 ]
rubyにおいてメソッドはオブジェクトじゃないお

696 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 11:34:06 ]
関数でもメソッドでもいいが、少なくとも引数がある場合はカッコあった方が良くね?
引数ないときに()を省略できるかどうかはまた別だけど、俺はあった方がいい。

697 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:23:18 ]
引数がある場合でも括弧付けない言語なんざいくらでもあるけどな

つかRubyの場合、フィールド参照もメソッド呼び出しだから
必ず括弧付けるとなると、なんだか読みにくくなりそう

698 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:27:01 ]
その場合、複数行になる場合はどう書くの?



699 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:37:46 ]
>>695
滅多にお目にかからないが、Methodクラスってのはある
ファーストクラスかと言われると怪しい

700 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:44:15 ]
Methodクラスのインスタンスはオブジェクトだから、ファーストクラスだお
でもそれ自体はメソッドじゃないお

701 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:50:26 ]
Rubyでメソッド呼び出しの括弧省くと、なんだかんだでパースエラーに
なる事が多くて、結局格好付ける事になりがち。

で、括弧が多くなってくると、「不統一なのもかっこわるいから、
全部付けとくか」ってなる。

702 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:54:42 ]
Lispも有る意味、引数に括弧はないな

703 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:56:39 ]
>698
改行が文末として扱われる言語ならば、行を継続する場合に明示する。
例えばVBは行末に _ を書くし、Rubyでも行末にバックスラッシュを書くと文末として扱われない。

Pascalなんかは引数が無い場合には括弧を書かないが
Cなどと同じくセミコロンを置くことで文末を示す言語なので、複数行でも何ら表記は変わらない。

704 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:02:54 ]
>>703
そういうことか。

しかし、数学では普通関数をf(x)ってカタチに書くから、
カッコがないってのがなんか気持ち悪い。

705 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:08:25 ]
>> 690
レシーバselfかつ引数なしのときは俺は()つけて書く。
func()みたいに。

もし()省略できなかったら、
require('library')
include('module')
みたいになって逆にキモくなるんじゃない?

まあ括弧省略可でうれしいのは,print,putsだろうけどね。

706 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:17:33 ]
まぁ、Rubyでも戻り値を式として使う場合には括弧付けたほうが無難だけどね。

Perlみたく @ary = sort keys %h みたいな書き方は認められてないよ。
Rubyにはsort関数もkeys関数も無いが、もしあったなら
ary = sort(keys(h)) と書かないとエラーになるはず。

ただブロックなどで「最後の式の結果を返す」となってる場面でも省略できちゃうから
そこは個人的にはちょっと何かないかなぁと思うけど。

707 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:37:05 ]
>>706
foo = p p 1 とか普通にできるけど?

ちょっと前までは、括弧が将来必要になるかも、ってwarningが出てたけど、

> 「文法を簡単にしようと思ってたんだけど、RubyConfで『括弧の省略を駆使していかに
> 英語っぽいコードを書くか』という内容でまるまる1セッション使った発表があって、諦めた」

という奴だね。

708 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:38:52 ]
まとめると、
文系:省略派
理系:非省略派
ってことだな。



709 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:39:58 ]
>707
ま ぢ か
じゃあ俺の使ってるバージョン古いんだな…

710 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:41:56 ]
>>708
ガチガチの文系で理系にコンプレックスのある漏れが非省略派なのでうそ臭いです






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<194KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef