s = "" + i;でintをStringに変換するのはなぜだめか

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2010/08/02(月) 23:30:13
2010/08/02(月) 23:39:52
2010/08/02(月) 23:48:10
2010/08/02(月) 23:49:08
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
2010/08/03(火) 00:39:11
( bb || !bb ) ?
2010/08/03(火) 01:16:04
えっ、ダメなの?
2010/08/03(火) 01:22:04
HSPディスってんじゃねーぞ
2010/08/03(火) 01:22:47
まあ、馬鹿の一つ覚えっていうか、羹に懲りて膾を吹く馬鹿って多いからさ実際。
2010/08/03(火) 05:13:56
Java って邪魔くさいね
まで読んだ
2010/08/03(火) 12:02:49
Javascriptでもちゃんと
var s = String( i );
って書くよ。
2010/08/03(火) 12:15:24
http://en.wikipedia.org/wiki/Type_system#Strong_and_weak_typing
2010/08/03(火) 13:45:44
型のゆるい言語ならそういうこともできるんだろうね
2010/08/03(火) 21:50:46
+で文字列結合っていう発想がイヤすぎる
そんなのBASICとかいう糞言語の仕様だろ
2010/08/03(火) 21:57:56
るby
2010/08/03(火) 23:18:36
perl 臭いな
型に対して無防備な言語は俺は嫌いだ。
2010/08/03(火) 23:26:27
Javaのくせに生意気だ
2010/08/04(水) 01:27:30
C++も+で文字列結合するよ。

+で文字列結合がいやなやつって
言語あまり知らないんじゃね?
2010/08/04(水) 02:25:45
BASIC なら & だろ。
2010/08/04(水) 02:46:07
こんなページがあった
http://d.hatena.ne.jp/katona/20071221/p3

文字列結合に+を使う言語は多い
2010/08/04(水) 04:43:42
+で結合は一見便利なんだけど
実際のところは""のせいで
長くなってくると非常に見辛い

a + ", " + b + ", " + c

みたいに書くよりも

"%s + %s + %s" % (a, b, c)
"{{a}} + {{b}} + {{c}}"
"#{a} + #{b} + #{c}"

とか書ける方がうれしい
2010/08/04(水) 07:09:08
>17
それはStringクラスの演算子オーバロードだから本来の + の効果ではない
22デフォルトの名無しさん
垢版 |
2010/08/04(水) 09:37:49
つまりどういうことです?
23デフォルトの名無しさん
垢版 |
2010/08/04(水) 10:51:33
c の char みたいにローレベル操作じゃないから
気にくわない。
2010/08/04(水) 10:52:51
ロベール操作だって?
2010/08/04(水) 11:51:46
なんで結合用の演算子を用意しないんだろう
Haskellみたいに++にするとかさ
2010/08/04(水) 13:12:35
PHPでは文字列結合演算子として . が定義されてるぞ。
2010/08/04(水) 22:28:36
>>21
内部実装がどうであれ、+で結合できることにはかわらんだろ。
C++標準ライブラリのSTLのstringの話だ。
2010/08/04(水) 22:31:11
>>20
そういうことが標準でできないのは、JavaScriptぐらいだよな。
2010/08/04(水) 22:34:20
>>25
++はインクリメントを思い出すからだめだな。
記号としてなら & が一番いいんじゃないか?

A と Bをあわせて(ry
A & B で(ry
2010/08/04(水) 23:51:26
>>28-29
VBは嫌い
2010/08/05(木) 00:06:10
お前の趣味なんか知らんがな。
2010/08/05(木) 06:03:05
ダッグタイピングは糞のように扱かわれていたのに、言語が変わったら神扱い。
2010/08/05(木) 12:02:57
これだから型に厳密でない言語はくそなんだよ
2010/08/05(木) 12:35:42
Javaだと実装不可能、
C++だとテンプレートを駆使しないと出来ないようなことが
阿呆みたいに簡単にできるからなぁ
2010/08/05(木) 14:13:40
>>32
今でもくそだと思ってるよ。
C#に導入されたけど、乱用されませんように。
2010/08/05(木) 14:25:49
スクリプト言語やCOMとの相互運用のためだろ
ラッパー自動生成なんかより遥かにスマート
2010/08/06(金) 00:27:31
>>34
> Javaだと実装不可能

何の話してるの?
文字列の結合?それならJavaでも+だけど。
2010/08/06(金) 01:05:35
>>20
その思考回路がわからない。
余計見難くなってるようにしか思えないけど....
っていうか、そういうのは普通にデリミタ挟んで文字列の配列を結合するメソッドを
作ろう(またはライブラリのそういうメソッドを使おう)よ

話飛ぶけど、ダックタイピングだの型が厳密でないだの、>>1の意図がマジで全然
理解できてない奴が何人かいるんだなw
2010/08/06(金) 01:13:05
>>20 の感覚のほうが一般的だろ。

C++とかJavaとか、結局formatみたいの導入されてるし。
2010/08/06(金) 01:48:07
JavaScriptにはformat見たいなものすらない。
2010/08/06(金) 01:49:10
俺には>>1の意図はよくわかる。

「?」しか書いていない>>1は馬鹿で〜すといいたいわけだ。
2010/08/06(金) 02:22:00
いやいや「勝手に数値と文字列の変換をしちゃうような言語きめぇ」って意見に
なぜって疑問を呈してる訳だろ? >>1は。

>>38は、ダックタイピングの話題がでてるけど、それって>>1の疑問と関係ないよね、
おまえらわかってんの?って言ってるわけでしょ。
2010/08/06(金) 02:36:42
>>39
>>38 の言ってることは一理ある

' + '.join([a, b, c])

って書けるとかなりスマートだ
2010/08/06(金) 02:39:53
>>40
ExtJS とか入れると Javascript で format 使えるようになって嬉しかったり
2010/08/06(金) 02:46:50
>>43
でも、それ規則的な連結にしか使えないでしょ。
2010/08/06(金) 03:54:26
>>42
たとえば n を 10 倍するときに

s = n * 10;

ではなく

s = n + "0";

って書いてしまう馬鹿が perler とか PHPer とか VBer に少なからず居る
2010/08/06(金) 11:07:05
俺はPHPで仕事してるけどそんな珍奇なソースみたことないぞ
2010/08/06(金) 18:24:25
Cの書式こそ至高だな
それを知らない、使い方が分からないバカが連結持ち上げてるんでしょ
2010/08/06(金) 18:29:11
c++ はどうして
cout << "x = '" << hex << h << "'" << endl;
どうしてこうなった?
50デフォルトの名無しさん
垢版 |
2010/08/06(金) 20:27:32
>>49
それ使いづらいから結局printf使ってる。
2010/08/06(金) 20:33:06
boost::formatは?
2010/08/06(金) 20:42:59
>>49
演算子オーバーロードとテンプレートを
使いたくて使いたくて仕方がなかったから。
2010/08/06(金) 21:47:45
iostreamは<<を使ってしまったのが失敗。
それでも、printf/scanfよりまし。
2010/08/06(金) 21:58:42
>>52
テンプレートは使ってないだろ。
2010/08/06(金) 22:44:04
???
2010/08/06(金) 23:09:00
テンプレートない時からあるから
2010/08/06(金) 23:53:02
>>53
kwsk

>>56
テンプレートは最初からあるぞ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況