2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2010/08/02(月) 23:30:13 .net


2 :デフォルトの名無しさん:2010/08/02(月) 23:39:52 .net


3 :デフォルトの名無しさん:2010/08/02(月) 23:48:10 .net


4 :デフォルトの名無しさん:2010/08/02(月) 23:49:08 .net
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

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

                  京都大学霊長類研究所


5 :デフォルトの名無しさん:2010/08/03(火) 00:39:11 .net
( bb || !bb ) ?


6 :デフォルトの名無しさん:2010/08/03(火) 01:16:04 .net
えっ、ダメなの?

7 :デフォルトの名無しさん:2010/08/03(火) 01:22:04 .net
HSPディスってんじゃねーぞ

8 :デフォルトの名無しさん:2010/08/03(火) 01:22:47 .net
まあ、馬鹿の一つ覚えっていうか、羹に懲りて膾を吹く馬鹿って多いからさ実際。

9 :デフォルトの名無しさん:2010/08/03(火) 05:13:56 .net
Java って邪魔くさいね
まで読んだ

10 :デフォルトの名無しさん:2010/08/03(火) 12:02:49 .net
Javascriptでもちゃんと
var s = String( i );
って書くよ。

11 :デフォルトの名無しさん:2010/08/03(火) 12:15:24 .net
http://en.wikipedia.org/wiki/Type_system#Strong_and_weak_typing

12 :デフォルトの名無しさん:2010/08/03(火) 13:45:44 .net
型のゆるい言語ならそういうこともできるんだろうね

13 :デフォルトの名無しさん:2010/08/03(火) 21:50:46 .net
+で文字列結合っていう発想がイヤすぎる
そんなのBASICとかいう糞言語の仕様だろ

14 :デフォルトの名無しさん:2010/08/03(火) 21:57:56 .net
るby

15 :デフォルトの名無しさん:2010/08/03(火) 23:18:36 .net
perl 臭いな
型に対して無防備な言語は俺は嫌いだ。

16 :デフォルトの名無しさん:2010/08/03(火) 23:26:27 .net
Javaのくせに生意気だ

17 :デフォルトの名無しさん:2010/08/04(水) 01:27:30 .net
C++も+で文字列結合するよ。

+で文字列結合がいやなやつって
言語あまり知らないんじゃね?

18 :デフォルトの名無しさん:2010/08/04(水) 02:25:45 .net
BASIC なら & だろ。

19 :デフォルトの名無しさん:2010/08/04(水) 02:46:07 .net
こんなページがあった
http://d.hatena.ne.jp/katona/20071221/p3

文字列結合に+を使う言語は多い

20 :デフォルトの名無しさん:2010/08/04(水) 04:43:42 .net
+で結合は一見便利なんだけど
実際のところは""のせいで
長くなってくると非常に見辛い

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

みたいに書くよりも

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

とか書ける方がうれしい


21 :デフォルトの名無しさん:2010/08/04(水) 07:09:08 .net
>17
それはStringクラスの演算子オーバロードだから本来の + の効果ではない

22 :デフォルトの名無しさん:2010/08/04(水) 09:37:49 .net
つまりどういうことです?

23 :デフォルトの名無しさん:2010/08/04(水) 10:51:33 .net
c の char みたいにローレベル操作じゃないから
気にくわない。

24 :デフォルトの名無しさん:2010/08/04(水) 10:52:51 .net
ロベール操作だって?

25 :デフォルトの名無しさん:2010/08/04(水) 11:51:46 .net
なんで結合用の演算子を用意しないんだろう
Haskellみたいに++にするとかさ

26 :デフォルトの名無しさん:2010/08/04(水) 13:12:35 .net
PHPでは文字列結合演算子として . が定義されてるぞ。

27 :デフォルトの名無しさん:2010/08/04(水) 22:28:36 .net
>>21
内部実装がどうであれ、+で結合できることにはかわらんだろ。
C++標準ライブラリのSTLのstringの話だ。

28 :デフォルトの名無しさん:2010/08/04(水) 22:31:11 .net
>>20
そういうことが標準でできないのは、JavaScriptぐらいだよな。

29 :デフォルトの名無しさん:2010/08/04(水) 22:34:20 .net
>>25
++はインクリメントを思い出すからだめだな。
記号としてなら & が一番いいんじゃないか?

A と Bをあわせて(ry
A & B で(ry

30 :デフォルトの名無しさん:2010/08/04(水) 23:51:26 .net
>>28-29
VBは嫌い

31 :デフォルトの名無しさん:2010/08/05(木) 00:06:10 .net
お前の趣味なんか知らんがな。

32 :デフォルトの名無しさん:2010/08/05(木) 06:03:05 .net
ダッグタイピングは糞のように扱かわれていたのに、言語が変わったら神扱い。

33 :デフォルトの名無しさん:2010/08/05(木) 12:02:57 .net
これだから型に厳密でない言語はくそなんだよ

34 :デフォルトの名無しさん:2010/08/05(木) 12:35:42 .net
Javaだと実装不可能、
C++だとテンプレートを駆使しないと出来ないようなことが
阿呆みたいに簡単にできるからなぁ

35 :デフォルトの名無しさん:2010/08/05(木) 14:13:40 .net
>>32
今でもくそだと思ってるよ。
C#に導入されたけど、乱用されませんように。

36 :デフォルトの名無しさん:2010/08/05(木) 14:25:49 .net
スクリプト言語やCOMとの相互運用のためだろ
ラッパー自動生成なんかより遥かにスマート

37 :デフォルトの名無しさん:2010/08/06(金) 00:27:31 .net
>>34
> Javaだと実装不可能

何の話してるの?
文字列の結合?それならJavaでも+だけど。

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

話飛ぶけど、ダックタイピングだの型が厳密でないだの、>>1の意図がマジで全然
理解できてない奴が何人かいるんだなw

39 :デフォルトの名無しさん:2010/08/06(金) 01:13:05 .net
>>20 の感覚のほうが一般的だろ。

C++とかJavaとか、結局formatみたいの導入されてるし。


40 :デフォルトの名無しさん:2010/08/06(金) 01:48:07 .net
JavaScriptにはformat見たいなものすらない。

41 :デフォルトの名無しさん:2010/08/06(金) 01:49:10 .net
俺には>>1の意図はよくわかる。

「?」しか書いていない>>1は馬鹿で〜すといいたいわけだ。

42 :デフォルトの名無しさん:2010/08/06(金) 02:22:00 .net
いやいや「勝手に数値と文字列の変換をしちゃうような言語きめぇ」って意見に
なぜって疑問を呈してる訳だろ? >>1は。

>>38は、ダックタイピングの話題がでてるけど、それって>>1の疑問と関係ないよね、
おまえらわかってんの?って言ってるわけでしょ。

43 :デフォルトの名無しさん:2010/08/06(金) 02:36:42 .net
>>39
>>38 の言ってることは一理ある

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

って書けるとかなりスマートだ

44 :デフォルトの名無しさん:2010/08/06(金) 02:39:53 .net
>>40
ExtJS とか入れると Javascript で format 使えるようになって嬉しかったり

45 :デフォルトの名無しさん:2010/08/06(金) 02:46:50 .net
>>43
でも、それ規則的な連結にしか使えないでしょ。

46 :デフォルトの名無しさん:2010/08/06(金) 03:54:26 .net
>>42
たとえば n を 10 倍するときに

s = n * 10;

ではなく

s = n + "0";

って書いてしまう馬鹿が perler とか PHPer とか VBer に少なからず居る

47 :デフォルトの名無しさん:2010/08/06(金) 11:07:05 .net
俺はPHPで仕事してるけどそんな珍奇なソースみたことないぞ

48 :デフォルトの名無しさん:2010/08/06(金) 18:24:25 .net
Cの書式こそ至高だな
それを知らない、使い方が分からないバカが連結持ち上げてるんでしょ

49 :デフォルトの名無しさん:2010/08/06(金) 18:29:11 .net
c++ はどうして
cout << "x = '" << hex << h << "'" << endl;
どうしてこうなった?

50 :デフォルトの名無しさん:2010/08/06(金) 20:27:32 .net
>>49
それ使いづらいから結局printf使ってる。

51 :デフォルトの名無しさん:2010/08/06(金) 20:33:06 .net
boost::formatは?

52 :デフォルトの名無しさん:2010/08/06(金) 20:42:59 .net
>>49
演算子オーバーロードとテンプレートを
使いたくて使いたくて仕方がなかったから。

53 :デフォルトの名無しさん:2010/08/06(金) 21:47:45 .net
iostreamは<<を使ってしまったのが失敗。
それでも、printf/scanfよりまし。

54 :デフォルトの名無しさん:2010/08/06(金) 21:58:42 .net
>>52
テンプレートは使ってないだろ。

55 :デフォルトの名無しさん:2010/08/06(金) 22:44:04 .net
???

56 :デフォルトの名無しさん:2010/08/06(金) 23:09:00 .net
テンプレートない時からあるから

57 :デフォルトの名無しさん:2010/08/06(金) 23:53:02 .net
>>53
kwsk

>>56
テンプレートは最初からあるぞ

58 :デフォルトの名無しさん:2010/08/06(金) 23:53:59 .net
>>51
boost::format はでかすぎなのと % がきもい
(s)printf と比べてメリットがそんなになさそう


59 :デフォルトの名無しさん:2010/08/07(土) 00:11:46 .net
>>57
printf/scanfはそもそも安全でないので話にならない。

C++でテンプレートが導入されたのは比較的新しい。

60 :デフォルトの名無しさん:2010/08/07(土) 01:03:32 .net
初期のC++を知らない世代になったんだな。

初期のC++にないもの。
・テンプレート
・例外

メモリの割り当てに失敗したら例外発生するんじゃなくて
NULL返すんだぜ。

61 :デフォルトの名無しさん:2010/08/07(土) 08:02:44 .net
protectedもなかったな。


62 :デフォルトの名無しさん:2010/08/07(土) 08:27:56 .net
今でも、テンプレートと例外は、いろいろ問題があるので、わざと使わないこともある。

63 :デフォルトの名無しさん:2010/08/07(土) 13:59:34 .net
>>60
それって90年代の中頃にはすでにあっただろ。
無い時代のC++知ってるのって、そうとうおっさんだけなんじゃない。

64 :デフォルトの名無しさん:2010/08/07(土) 14:19:27 .net
>>63
どっちにしても、テンプレートないころからiostreamはある。

65 :デフォルトの名無しさん:2010/08/07(土) 14:51:09 .net
初めてC++使ったの91年だけどテンプレートはあったな

66 :デフォルトの名無しさん:2010/08/07(土) 14:53:39 .net
俺がベル研にいたころはニューバランス履いてたけどまだ髪はあったな

67 :デフォルトの名無しさん:2010/08/08(日) 08:28:44 .net
初期のC++のコンテナは最悪だった
マクロとかvoid*使ってたんだぜ

68 :デフォルトの名無しさん:2010/08/08(日) 08:51:41 .net
ただのPPだったからな

69 :デフォルトの名無しさん:2010/08/08(日) 12:30:04 .net
generic.h なんて思い出させるなwww


70 :デフォルトの名無しさん:2010/08/09(月) 11:30:06 .net
awkの文字列連結は直感的。単にオブジェクトを並べるだけ。だから、こんなこともできる。
--
awk 'BEGIN {i = 10; j = 20; print i j;}'
--
これで 1020 と出力されるのだけど、裏を返せばTypoが怖いw

71 :デフォルトの名無しさん:2010/08/09(月) 12:43:49 .net
>70
C言語系書式のfor文と勘違いして混乱したじゃねーか

72 :デフォルトの名無しさん:2010/08/09(月) 12:44:26 .net
awkはガチ

73 :デフォルトの名無しさん:2010/08/09(月) 13:52:25 .net
同じ動的言語でも
Perlやawkは型の区別が無いが演算子は区別してる例
PythonやRubyは演算子は同じだが型付けが強く文字列と数値を自動的にcoerceしない
>>1の例はエラーになる)
だな

この両者に比べると>>1式はひどいように思う
JavaScriptは文字列にcoerceするので、数値を""と足すと文字列化になるが
バッドノウハウ的だし意図せぬ誤りの元

が、もっとひどいのがPowerShell
1+"2" -> 3
"1"+2 -> "12"
こうなるんだぜ

74 :デフォルトの名無しさん:2010/08/09(月) 15:21:13 .net
どこが酷いんだかさっぱりわからん。
>>73が何も分かってないだけだろw

>>1の意図は明らかにそういう奴をおちょくることにあるんだが、
まあ、おちょくりの対象側の人間にとってはこの通り蛙の面にしょんべんだわな。

なにせ自分の無理解の自覚がないんだからw

75 :デフォルトの名無しさん:2010/08/09(月) 15:45:23 .net
よせやい、褒めるなよ。照れるじゃないか。

76 :デフォルトの名無しさん:2010/08/09(月) 19:50:13 .net
>73
演算子の左辺の型によって演算子の挙動が変わるのか
いかにもバグの元になりそうな仕様だな

77 :デフォルトの名無しさん:2010/08/09(月) 22:11:46 .net
>>76
やっぱりわかってないな。

78 :デフォルトの名無しさん:2010/08/10(火) 00:27:47 .net
【法律】「ウイルス作成罪」創設へ 刑法改正を検討(10/08/09)
http://hibari.2ch.net/test/read.cgi/pcnews/1281355124/

79 :デフォルトの名無しさん:2010/08/10(火) 01:34:12 .net
コピペ君って馬鹿だな、まで読んだ。

80 :デフォルトの名無しさん:2010/08/10(火) 06:35:22 .net
残念だけどそれもコピペなんだよね

81 :デフォルトの名無しさん:2010/08/10(火) 07:40:16 .net
どう?
でもいい

82 :デフォルトの名無しさん:2010/08/12(木) 08:27:15 .net
>>73
1.+("2") -> 3
"1".+(2) -> "12"
うん、至って普通の動作だ

83 :デフォルトの名無しさん:2010/08/12(木) 10:35:38 .net
+を使うセンスの無さ

84 :デフォルトの名無しさん:2010/08/12(木) 10:40:31 .net
ZuSZSSっzっsqzyzっszんrbdんtrwfbmdsnSnzzzZQ

85 :デフォルトの名無しさん:2010/08/12(木) 12:30:33 .net
>>82
これを見てもそう思う?
1 + 0.5 -> 1.5
0.5 + 1 -> 1.5

PowerShellでも
1 + 0.5 は1にはならない(勿論.NETなので、1と0.5の型は違う)
糞ほどのセンスも感じられない一貫性の無さだね


86 :デフォルトの名無しさん:2010/08/12(木) 12:35:40 .net
>>85
もっと勉強しろ

87 :デフォルトの名無しさん:2010/08/12(木) 12:59:51 .net
>>85
ちゃんとスレ読んでるか?

88 :85:2010/08/12(木) 13:04:52 .net
いやよんでねえw

Int32 + String -> Int32
String + Int32 -> String

Int32 + Double -> Double
Double + Int32 -> Double

この仕様は君らにとってはOKなわけか、俺にはわからんわw
何でOKなのか教えてくれない?

89 :デフォルトの名無しさん:2010/08/12(木) 13:07:41 .net
>>88
文句は Perl に言ってくれ

90 :デフォルトの名無しさん:2010/08/12(木) 13:08:43 .net
何でPerlの話が出てくんのw
関係ないじゃん

91 :デフォルトの名無しさん:2010/08/12(木) 13:27:47 .net
実装側の頭があればすぐにわかることジャマイカ。

92 :デフォルトの名無しさん:2010/08/12(木) 13:49:02 .net
>>91
実装都合なんて無意味じゃね?
これと違う仕様にも実装できるし、事実そうなっている言語はたくさんある
純粋に仕様として綺麗か汚いかって話だと思うんだが

93 :デフォルトの名無しさん:2010/08/12(木) 14:22:39 .net
1 + "0.5"→1.5
(Int32 + String -> Double)
単純に左オペランドの型に変換しているわけではない模様

"1" + .5 -> "10.5"
"1" + 10e2 -> "11000"
"1" + 10e100 -> "11E+101"

この辺はこうなる、予想の範囲だが

94 :デフォルトの名無しさん:2010/08/12(木) 14:48:13 .net
春 21世紀枠に負けるとは末代までの恥
夏 エラーと落球で逆転を許すとは末代までの恥

95 :デフォルトの名無しさん:2010/08/12(木) 22:32:21 .net
こういうのって基本的に人間様が楽をするための仕様じゃないの?

96 :デフォルトの名無しさん:2010/08/13(金) 00:04:42 .net
型が緩すぎると他人のコードを読むのがしんどいからよくないって話はたまに聞くね。

書きなぐるコードじゃないなら型が厳しい方が好きだ。

97 :デフォルトの名無しさん:2010/08/13(金) 18:02:29 .net
確かに保守するなら型厳しい方が好きだわ。
型厳しいとIDEも頭良くなれるし。

98 :デフォルトの名無しさん:2010/08/13(金) 20:50:26 .net
sage test

99 :デフォルトの名無しさん:2010/08/13(金) 21:02:45 .net
だから>>1みたいのは型が緩いわけじゃないっての。
むしろユルいのはお前さんの頭(以下略

>>85
よくある愚論だけど、別に(プログラミング言語の設計において)全てにおいて
一貫性が優先されるわけじゃない。

直感的であることと表面的な一貫性が矛盾する場合、どっちを優先すべきかは明らか。

数値同士の演算結果が前のオペランドの型になるような仕様が嬉しい奴はいない。

stringの+演算子が、片方のオペランドのToString()を呼び出すように定義されている
(C#の場合)のは、自然で直感的な仕様だ。

100 :デフォルトの名無しさん:2010/08/13(金) 21:06:47 .net

"3" * 5 -> "33333"

これはどう思う?


101 :デフォルトの名無しさん:2010/08/13(金) 21:30:40 .net
perlのx演算子か。

102 :デフォルトの名無しさん:2010/08/13(金) 22:50:16 .net
>>99
意味わからん
C#だと
"1" + 2 も 1 + "2" も string になるからPowerShellと違って一貫してるだろ

"1" + 2が"12"になって1 + "2"が3になる仕様が自然で直感的だってのも
お前が脳内で考えてるだけじゃね?

つか、バカじゃないの?

103 :デフォルトの名無しさん:2010/08/13(金) 23:19:57 .net
>>102
もちろん馬鹿。いや君がね。

そういう言い方をするのなら、
「"1" + 2が"12"になって1 + "2"が3になる仕様は一貫性がなく不自然だ」
というのも、たかだかお前さんのウンコ脳の見解に過ぎないわけだが。

そもそも一貫性っていったって物差しの置き方次第でなんとでもいえるんだが、
自分がいったい何を基準に一貫性って言ってるのか、自覚してるか?

PowerShellについては俺は知らんが、仮に「数値同士以外の場合、演算子は
最初のオペランドの型に対する操作だとみなす」というルールだとして、
そうであるならそれなりに合理的だ。

104 :デフォルトの名無しさん:2010/08/13(金) 23:27:42 .net
>>103
> 数値同士以外の場合、演算子は最初のオペランドの型に対する操作だとみなす
いや例外を設けてる時点で、一貫性という観点では例外の不要なルールより
明白に劣るだろ
一貫性って日本語の意味わかってまちゅかー?

本気でアホなんだな
さすがいきなり他人をユルいとかアホとか言い出すだけはあるわ

105 :デフォルトの名無しさん:2010/08/13(金) 23:33:28 .net
>>100
*てことはPythonか

それは定義域がstrとintの演算として定義されてるから
いいんじゃねーの知らんけどw

106 :デフォルトの名無しさん:2010/08/13(金) 23:39:57 .net
>>104
とことんお馬鹿だな。
だから、何故そんなに「一貫性」が重要なのだと言ってるだろう。
まずそこに答えてくれ。まあそんな必然性は無いから無理だと思うがな。

そういうのを「馬鹿の一つ覚え」というんだよ。
そんなものより、柔軟に暗黙的は変換が行われるほうが大事だ、
という立場もありうる。世の中の価値観が一つしかないとでも思ってるのか。

ちなみにお前さんの言っているのは(君は自覚してないようだが)
たかだか「演算子は交換法則が成立します」という形式的な一貫性に過ぎない。

一貫性という言葉にこだわるのなら、>>102のような仕様は、
「暗黙的な型変換が柔軟に行われる」という思想に照らして一貫しているということもできる。

107 :デフォルトの名無しさん:2010/08/13(金) 23:43:07 .net
>>106
頑張るねえw
おまえの言う「自然で直感的」より格段に客観的な尺度だろ
例外が不要なシンプルなルールのほうが理解しやすいから、
通常は自然で直感的にもなる

逆に言えば、一貫性を犠牲にしてPowerShellのユーザが享受できる
利点は何だ?

つーか、よく読まずにC#なんて的外れな例持ち出してきて他人罵倒したから
ひっこみがつかなくなったか?w
馬鹿な犬ほど良く吠えるって奴だなw

108 :デフォルトの名無しさん:2010/08/14(土) 00:04:44 .net
>よく読まずにC#なんて的外れな例持ち出してきて
>>1

109 :デフォルトの名無しさん:2010/08/14(土) 00:07:10 .net
>>108
お前はcontextを読めよw
PowerShellに関する話題へのレスだろw

110 :デフォルトの名無しさん:2010/08/14(土) 00:22:04 .net
>contextを読めよ
どの面さげてそういうことが言えるのか。
そもそも>>73も君じゃねえの?

まあ何れにせよ君が言ってることがトンチキなのは間違いないが。

111 :デフォルトの名無しさん:2010/08/14(土) 00:25:36 .net
だから何がトンチキなのかちゃんと言ってみろってw

>>1に関しては、JavaやC#みたいな静的型言語なら別にいいんじゃねーの?
としか思わんな

動的型だと
foo + bar
が何やってんだか一見わかりにくいことが多いから、
Python/Ruby/Perl/Awk式のほうが好きだよ俺は

まあ+がオーバーロードされているJavaScriptにしても
PowerShellほどはひどくねーけどな

112 :デフォルトの名無しさん:2010/08/14(土) 00:31:24 .net
で、話題そらしはじめたってことは
PowerShellの擁護すんのは諦めてとにかく難癖だけはつけたいってことで
いいのか?w

ちょっとは具体的なことを語れるやつみたいだからつきあってやったが
所詮は罵倒しか脳の無いアホだったかw

113 :デフォルトの名無しさん:2010/08/14(土) 00:49:23 .net
はいはい、そのとおりだね。
夏休みの中盤に名にやってんの
さっさと練れ

114 :デフォルトの名無しさん:2010/08/14(土) 01:35:47 .net
通常
b = a + 1
ってコードがあったらほぼ確実に「1を足す」という意図だし、読み手もそう読む

が、動的型だと、aに"foo"等が入ってくることも有り得る(通常それはバグだ)
その場合、PythonやRubyはエラーにしてくれるが
JavaScriptでは黙ってbに"foo1"が入る

勿論静的型ならこうした問題はそもそも発生しない

それと、
"I paid " + n + "dollars"
みたいなのは、LL言語なら
"I paid $n dollars"
のように書けたほうがずっと読み書きやすい

Pythonなら "I paid %d dollors" % n になるが、テキストが分裂せず一箇所に
まとまっているので、やはりこっちのほうが読みやすい
ついでに数値フォーマットも正確に指定できるというご利益がある

ところでPowerShellでは、
"I paid " + $n + " dollars"と同じ調子で
$n + "% completed"
とか書いたら、$nが数値の場合にはoperator +の意味が変化してエラーになるわけだ

これが非一貫性の引き起こす問題、美的でないだけでなく
無駄に罠的な仕様でありError Pruningって奴だぜ

115 :デフォルトの名無しさん:2010/08/14(土) 02:14:15 .net
ブーン
ブーン
カー?

116 :デフォルトの名無しさん:2010/08/15(日) 23:45:29 .net
議論?をするうえでいちいち相手をバカ呼ばわりするのは合理的なのだろうか。

117 :デフォルトの名無しさん:2010/08/16(月) 02:17:28 .net
2chじゃデフォ

118 :デフォルトの名無しさん:2010/08/16(月) 12:26:57 .net
最近じゃ相手に「歴史を語る資格はない」とか言い放つらしいぜ。
歴史の議論で。

119 :デフォルトの名無しさん:2010/08/16(月) 12:31:23 .net
「古屋」氏がいきなりホロコースト云々を言ってたけど、その前の経緯がカットされていたそうな。
韓国に都合の悪いとこをカットすんな、狗HK!

>2010-08-14 NHK総合「日本のこれから、共に語ろう日韓の未来」出演
★補足★編集でカットされた部分

6.僕の発言に関連する部分

⇒韓国人出演者の一人が、ドイツ人はユダヤ人に対するホロコーストに対し謝罪と補償をしているから日本もするべきみたいなニュアンスのことを発言したので僕がそれを否定する発言に続く。(この前段階がカットされている)
http://d.hatena.ne.jp/aniotahosyu/20100814/1281792754


崔洋一はキチガイだよな
声がでかいだけで中身がないくせに
自分を棚にあげて相手を罵倒する最低の人間

120 :デフォルトの名無しさん:2010/08/16(月) 13:18:12 .net
あれって収録なのか
まあ生じゃできないよな

121 :デフォルトの名無しさん:2010/08/17(火) 08:36:13 .net
日本人ってホロコーストに類するような事何かしたっけ
南京は真偽不明だしそもそも下朝鮮関係ないし

122 :デフォルトの名無しさん:2010/08/17(火) 08:46:19 .net
    古屋さんはなにも間違ったこと言ってないですよ。
    すずめ監督は、植民地のこと言われて火病ったのではなく、
    テレビも新聞も政治家も歴史家も触れられなかった最大のタブー、

    「朝鮮人は日本人として、日本軍にたくさんいた。つまり戦争の加害者」

    と反論できない事実を暴露されたから、取り乱したんですよ。
    この事実で朝鮮人の言い分の前提が瓦解するから。
    怒鳴りながら、話をそらして資格がないで封殺したつもりが墓穴。

123 :デフォルトの名無しさん:2010/08/17(火) 14:47:01 .net
うわぁ

124 :デフォルトの名無しさん:2010/08/18(水) 00:29:47 .net
このスレって、Cの話? C++の話?
で、Stringってオブジェクト? C++の。


125 :デフォルトの名無しさん:2010/08/18(水) 09:19:50 .net
なんでCとC++に限定するんだよ
お前がそれしか知らないからか

126 :デフォルトの名無しさん:2010/08/18(水) 19:32:22 .net
>>124
javaの話です
C、C++はすれちがい

127 :デフォルトの名無しさん:2010/08/19(木) 03:26:34 .net
Javaの話にしてはInteger.toString(int)とかString.valueOf(int)が全く出ていない

128 :デフォルトの名無しさん:2010/08/19(木) 06:45:20 .net
parseInt

129 :デフォルトの名無しさん:2010/08/20(金) 22:25:49 .net
文字列が等しいかの比較が、 ==(または=)でできない言語は糞

130 :デフォルトの名無しさん:2010/08/20(金) 22:32:58 .net
文字列ならパターンマッチもできない比較演算子は用意しても無意味

131 :デフォルトの名無しさん:2010/08/21(土) 21:40:46 .net
最初の論旨から外れすぎだな

というかスレタイの意味が理解できてない奴が多い

132 :デフォルトの名無しさん:2010/08/21(土) 21:53:18 .net
「?」だけの>>1で「最初の論旨」もクソもあるか
言語すら書いてないだろw


133 :デフォルトの名無しさん:2010/08/21(土) 22:18:13 .net
Cでも、一応文法違反ではないな。

134 :デフォルトの名無しさん:2010/08/28(土) 04:29:42 .net
俺は電卓の感覚で 1 + 0.5 って叩いた時 1.5 にならない方がイラッと来るし
"3" * 5 がエラーになったら「えー、なんで"33333"にならねーの?めんどくせーなー」って勢いなんだけど
どんな用途向けなのか、よりまず言語としての厳密さを求めるってのは、
やっぱ人の価値観てのは違うんだねぇ

135 :デフォルトの名無しさん:2010/08/28(土) 05:21:56 .net
$ irb
irb(main):001:0> 1 + 0.5
=> 1.5
irb(main):002:0> '3' * 5
=> "33333"
irb(main):003:0>

$ python
>>> 1 + 0.5
1.5
>>> '3' * 5
'33333'
>>> ^Z

136 :デフォルトの名無しさん:2010/08/28(土) 05:46:01 .net
$ awk 'BEGIN {print 1 + .5; print '3' * 5;}'
1.5
15

137 :ちょっと間違えた:2010/08/28(土) 05:47:24 .net
$ awk 'BEGIN {print 1 + 1.5; print "3" * 5;}'
1.5
15


138 :デフォルトの名無しさん:2010/08/28(土) 05:48:01 .net
$ awk 'BEGIN {print 5 * '3';}'
15

sugeeeee

139 :デフォルトの名無しさん:2010/08/28(土) 06:26:28 .net
$ awk 'BEGIN {print " " * 5;}'
0
awkには文字列演算がないから、演算子があれば対象は必ず数値として扱われる。

$ awk 'BEGIN {print 3 5;}'
35
文字列の連結は単にオブジェクトを並べるだけ。

140 :デフォルトの名無しさん:2010/08/28(土) 11:28:45 .net
戻り値の型はデータが決めるんじゃなく、演算子が決めるって言語は結構あるね

141 :デフォルトの名無しさん:2010/08/28(土) 12:15:37 .net
Matz は int / int (5 / 2) の型を有理数型にしたいそうな

142 :デフォルトの名無しさん:2010/08/28(土) 15:34:41 .net
>>141
あー、それ一度は誰もが考えるよね。

143 :デフォルトの名無しさん:2010/08/28(土) 16:51:21 .net
>>135 こっちが自然で
>>136 こっちが不自然って言うか、融通が利かないなって思う

やっぱ人によって違うねぇ・・・


144 :デフォルトの名無しさん:2010/08/28(土) 16:52:30 .net
あ、正確には>>136でなく>>136-139

145 :デフォルトの名無しさん:2010/08/28(土) 16:58:56 .net
>>142
というかLispの真似だろう

146 :デフォルトの名無しさん:2010/08/28(土) 17:07:17 .net
有理数型は、誰でも考える。

147 :デフォルトの名無しさん:2010/08/28(土) 21:41:36 .net
LISPはそれをいち早く実現しちゃった(///

148 :デフォルトの名無しさん:2010/08/28(土) 21:46:34 .net
有理数型はすごそうに聞こえるが、浮動小数点より実装が簡単な気がする。

149 :デフォルトの名無しさん:2010/08/28(土) 21:47:19 .net
Lispは先進的過ぎた言語だと思う
組み込みリスト型、イテレータ、ガベコレ、関数型…
この辺ほぼLispが初出じゃね?

150 :デフォルトの名無しさん:2010/08/28(土) 22:49:27 .net
>>148
x = 1 / 3;
y = x * 3;
で y が 1 になってくれるとうれしいよね

151 :デフォルトの名無しさん:2010/08/28(土) 23:10:19 .net
言わんとすることは分かるけど、その式は別に倍精度でもそうなるべ?

152 :デフォルトの名無しさん:2010/08/29(日) 02:24:41 .net
ナランヘヨ?

153 :デフォルトの名無しさん:2010/08/29(日) 10:25:44 .net
rubyのソースにRationalのソースが入ってる。
想像通りのカンタンな実装だからパクれよお前ら。
俺もJavaでRational実装して使ってる。クソ便利。

154 :デフォルトの名無しさん:2010/08/29(日) 12:21:51 .net
最終的な結果を分数の形で欲しいのでなければいらんと思うけど。
まあ、そんな場面はほとんどないわけで、活躍の場は非常に限定されそうだな。

何より今時ソフトで実装された数値表現なんてw

155 :デフォルトの名無しさん:2010/08/29(日) 13:04:34 .net
>>154
いや、誤差が累積するのが問題になったりするから、
結果がどうでも有用だろ。

156 :デフォルトの名無しさん:2010/08/29(日) 13:24:04 .net
VBでやらないことはいらない!みたいな言い草だなw

157 :デフォルトの名無しさん:2010/08/29(日) 13:31:18 .net
>>155
そう来るだろうと思ったけど、誤差がないことを要求される場面(普通そうはない)
以外は問題ない。

多くの場合重要なのは必用な桁数の有効数字が得られるかどうかであって、
それは実数型で普通に可能。

その有理数型の「誤差がない」というメリットにしても、
演算仮定に無理数が入った途端に破綻することは理解してるのかな?

158 :デフォルトの名無しさん:2010/08/29(日) 13:38:14 .net
>>157
>誤差がないことを要求される場面(普通そうはない)

このまえPHPで帳票出す仕事やって、割合を表示する列があって
さらにそれの小計やら合計をだすってことがあったけど。

159 :デフォルトの名無しさん:2010/08/29(日) 13:41:24 .net
>>158
で、その帳票は割合を分数で表示する仕様なの?
言ってる意味分かる?

160 :デフォルトの名無しさん:2010/08/29(日) 13:42:50 .net
普通は分数型があるよりも10進型があったほうが便利だろうね。
それでさえ、充分な精度の実数型で代用できるし。

161 :デフォルトの名無しさん:2010/08/29(日) 13:43:46 .net
phpは正直どうでもいい

162 :デフォルトの名無しさん:2010/08/29(日) 14:08:40 .net
>>159
いや、実数で表示する仕様。
計算もfloatでやってたから内部では誤差がでてた。
表示のときに適当にまるめてごまかしてたよ。


163 :デフォルトの名無しさん:2010/08/29(日) 14:12:56 .net
>>162
単に君のやり方がマズいだけだねそれは。

164 :デフォルトの名無しさん:2010/08/29(日) 14:23:00 .net
>>163
やっぱ、浮動小数点で計算して誤差が累積していくのはまずいんだよね。

やりかたがまずいのは下っ端だから、どうにもできない。


165 :デフォルトの名無しさん:2010/08/29(日) 14:31:10 .net
Rational型って浮動小数点が使えない環境だと使ったりする?
具体的にはマイコンとかで

166 :デフォルトの名無しさん:2010/08/29(日) 14:39:17 .net
PCですらほとんど使われないのに、もっと資源が乏しいマイコンで使う理由があるとは思えない。

っていうか、マイコンでもCコンパイラは普通に実数サポートしてるよ。
何らかの理由で実数のライブラリを使えないかアセンブラ使う場合は、
俺様仕様の浮動小数か固定小数を使う場合が多い。

167 :デフォルトの名無しさん:2010/08/29(日) 14:39:52 .net
なんか、会社ってところはどこもそうなのかも知れないけどさ
良い人から辞めちゃうよね
んでもって、腹黒い人とか、他人を動とも思わない人とか、
図々しい人とか、・・・そんなのばかりがテコでも動かないぜって
感じで居座り続ける・・・
会社って、こうやってダメになっていくんだと思う
それはそのまんま居座り族・牛耳り族が社会をダメにしていくって
ことなんだ。。。

168 :デフォルトの名無しさん:2010/08/29(日) 18:43:51 .net
>>157
誤差ねー
NTSCの60fpsとかだよな
正確には60でなく60000/1001fpsなので、適当に扱うと、モロに誤差が集積する

「整数比を普通に扱いたい/計算したい」みたいな用途は
別にそう珍しくもないんじゃ?
例えば画面の縦横だって整数比だし

実数とは言うけれど、計算機上だと離散的な(整数)データ扱う機会のがむしろ
多いような

169 :デフォルトの名無しさん:2010/08/29(日) 20:07:36 .net
>>168
フレーム数と比を掛けるだけだから、誤差の累積なんかないと思うけど....

ついでに野暮なことを言えば、フレームの時刻をそこまで厳密に求める意味は、
少なくとも2つの意味で通常はないよね。

一つは、恐らくビデオ回路の発振器の発振精度なんて恐らくそんな高くないから意味がない。

もう一つは、フレームの間隔を1/60secで計算して生成した画像と、
1001/60,000secで計算して生成した画像の差なんて、人間にはわからないw

170 :デフォルトの名無しさん:2010/08/29(日) 20:14:37 .net
x = 1 / 3;
y = x * 3;

この時の y の値は有理数型と整数型、どっちであることがおまいらの好み?

171 :デフォルトの名無しさん:2010/08/29(日) 20:33:20 .net
最適化して定数0になるのが好み

172 :デフォルトの名無しさん:2010/08/29(日) 20:39:31 .net
正確な計算をしたいという用途はいろいろあるけれども、多くの用途で大きな数での累乗の計算がでてくるので、実際につかうとすぐ破たんする。

173 :デフォルトの名無しさん:2010/08/29(日) 21:31:13 .net
>>171
その定数の型は?

174 :デフォルトの名無しさん:2010/08/30(月) 22:07:19 .net
有理数型とか全然実用的でないものはいらんわ。
それよりゼロ割り許可の数値型とか欲しい。
3/0, 2/0, 1/0, 0/0, -1/0 ・・・でもちろんゼロ割り状態でソートとか出来るようなの。

175 :デフォルトの名無しさん:2010/08/30(月) 22:10:01 .net
>>174
分数型でいいんじゃね?

176 :デフォルトの名無しさん:2010/08/30(月) 22:13:35 .net
>>175
おおなるほど。そのへんまで考えての分数型だったらすごいな。
でも単なる分数型だと 1/ (0^2) とか表現できる? 無限大の大小をソートしたいわけだし。

177 :デフォルトの名無しさん:2010/08/30(月) 22:18:24 .net
>>174
そいつらの数学的意味は何ぞ?

178 :デフォルトの名無しさん:2010/08/30(月) 22:25:12 .net
やっぱり
3/0 > 1/0
だったりするのかな

179 :デフォルトの名無しさん:2010/08/30(月) 22:32:11 .net
>>177-178
そうそう、というか最近の仕事でSQLなんだけど、(A / B) でORDER BY みたいな要件があったときに悩んだ。
もちろんBはゼロの可能性があって・・・なので言語的にそういうのカバーしてるのがひとつくらいあってもいいじゃん、てことです。

180 :デフォルトの名無しさん:2010/08/30(月) 22:34:21 .net
>>174
結局、Rational型がほしいのな。
>>178
未定義、もしくは0の符号により、> < 未定義があり得る。

181 :デフォルトの名無しさん:2010/08/31(火) 10:32:31 .net
数学的には1/0と3/0は∞で等しいでしょ。
それを分子によって順序付けしたいというのは、数学の定義ではなく、プログラマの独自の定義なんだから、
言語仕様でそれを定義しちゃったらおかしいよ。

182 :デフォルトの名無しさん:2010/08/31(火) 11:08:11 .net
そんなことは言われんでも皆判っとる罠

183 :デフォルトの名無しさん:2010/08/31(火) 12:18:46 .net
いや、数学的にはどうとでも定義できるけど役に立たんから普通は定義しないだけだ
SQLでは0除算が役に立つのか?

184 :デフォルトの名無しさん:2010/08/31(火) 12:20:09 .net
それか、0に漸近するけど決して0ではない数とか?

185 :デフォルトの名無しさん:2010/08/31(火) 13:02:02 .net
>>181
無限にも大小はある。
א参照。

186 :デフォルトの名無しさん:2010/08/31(火) 13:43:22 .net
どういう理屈で等しいとか違うとか言ってるのかは知らないが(超準解析?)
数学的には
lim(1/x) x→0 と lim(3/x) x→0 の比較なのか分からんと何も言えない、ってとこじゃないの?

187 :デフォルトの名無しさん:2010/08/31(火) 13:46:01 .net
x が正負どちらから 0 に近づくかでも違うしね。

188 :デフォルトの名無しさん:2010/08/31(火) 14:33:10 .net
>>185
あほか

189 :デフォルトの名無しさん:2010/08/31(火) 14:54:05 .net
>>188
抽象的過ぎて理解できないか。

190 :デフォルトの名無しさん:2010/08/31(火) 15:00:53 .net

א連続体仮説とn/0の話は無関係だろっつーことא

191 :デフォルトの名無しさん:2010/08/31(火) 22:26:03 .net
>>190
אが出てきたからって反射的に連続体仮説を出してきたのか?

192 :デフォルトの名無しさん:2010/08/31(火) 23:55:48 .net
なんかさ、数学というより、数学的雑学だよな。

193 :デフォルトの名無しさん:2010/09/01(水) 11:18:50 .net
というかさ、無限集合の濃度と極限値の大小を混同してないか?

194 :デフォルトの名無しさん:2010/09/01(水) 11:24:11 .net
極限値に大小があるからこそ無限集合の濃度が定義出来るんだぜ

195 :デフォルトの名無しさん:2010/09/02(木) 00:20:22 .net
まあ俺>>174の言いたかったのはそんな数学的意義とかじゃなくて
単にゼロ除算で落ちない型があってもいいじゃんくらいの話なんだ

196 :デフォルトの名無しさん:2010/09/02(木) 00:22:21 .net
ゼロ除算で落ちなかったらそれは何を意味する値になるのかわからんって話ではないのか
得体のしれない数同士を比較出来るようにしても……

197 :デフォルトの名無しさん:2010/09/02(木) 00:32:35 .net
いやだから、無限大にも大小はある(定義できる)し、あるいは内部的には分数型として式のまま(5/0とか)で保持でもいいし。

198 :デフォルトの名無しさん:2010/09/02(木) 00:49:22 .net
(3 / 0) + (1 / 0) = (4 / 0)
だったとして
(3 / 0) + (1 / 2)
はどうなりますか?


199 :デフォルトの名無しさん:2010/09/02(木) 01:54:12 .net
この中に・・・アホなやつがおる!

>>>197お前や〜!

200 :デフォルトの名無しさん:2010/09/02(木) 06:11:20 .net
>>198
(3 / 0) + (1 / 2) を通分すると
(3 / 0) + (0 / 0) = (3 / 0)

201 :デフォルトの名無しさん:2010/09/02(木) 07:09:26 .net
Rational型なら、3/0 と 1/0は、区別して持てる。
ただし、その大小は定義できない。
(通常、整数型の0には符号がない。)

202 :デフォルトの名無しさん:2010/09/02(木) 09:02:57 .net
無学な俺に Rational型 とやらを実装している言語を教えてくらさい。
ググってもなんか違う情報しかでなかったとです。

C++で演算子オーバロードを覚えたころに自力で分数クラスを作った覚えはある……

203 :デフォルトの名無しさん:2010/09/02(木) 09:21:39 .net
numpy

204 :デフォルトの名無しさん:2010/09/02(木) 09:25:34 .net
   In [1]: a, b, c = symbols('abc')

   In [2]: f = a*x**2 + b*x + c

   In [3]: f
   Out[3]:
                2
   c + b*x + a*x

   In [4]: solve(f, x)
   Out[4]:
            _____________ _____________
           / 2 / 2
    -b + \/ -4*a*c + b -b - \/ -4*a*c + b
   [---------------------, ---------------------]
             2*a 2*a

205 :デフォルトの名無しさん:2010/09/02(木) 09:59:00 .net
"7" * 3は "777"になってほしい

206 :デフォルトの名無しさん:2010/09/02(木) 10:12:37 .net
"7"*3はエラーになってほしい

207 :デフォルトの名無しさん:2010/09/02(木) 10:54:28 .net
"7" * 3 は ["7", "7", "7"] になってほしい

208 :デフォルトの名無しさん:2010/09/02(木) 14:27:49 .net
>>203
Pythonには標準であるんじゃね?

209 :デフォルトの名無しさん:2010/09/03(金) 14:15:51 .net
比較演算子はどうなの

"7" == 7


210 :デフォルトの名無しさん:2010/09/03(金) 14:19:15 .net
PHPだと "7"==7 はtrueで "7"===7 はfalseだね。

211 :デフォルトの名無しさん:2010/09/03(金) 21:27:04 .net
"7"==7が真とか、マジキチ

212 :デフォルトの名無しさん:2010/09/04(土) 00:20:10 .net
perlって糞だな
まで読んだ

213 :デフォルトの名無しさん:2010/09/04(土) 02:46:55 .net
7のように見えて
7のように鳴けば、
それは7なんだよ。

214 :デフォルトの名無しさん:2010/09/04(土) 07:18:01 .net
"7" = 7 は、UNIXの文化。

215 :デフォルトの名無しさん:2010/09/04(土) 07:42:43 .net
>>211

"7"が7番地にあったんだろ


216 :デフォルトの名無しさん:2010/09/04(土) 12:17:52 .net
馬鹿多いな。
だから、"7"と7の間の比較法に曖昧さがなければ別に何も問題はない。
逆に聞くがどこか曖昧なところがあるのかよ。

多分若い奴が多いんだろうと想像するけど、80代のジジイみたいな硬直した
思考しかできない奴多いよな。

217 :デフォルトの名無しさん:2010/09/04(土) 12:30:45 .net
たしかに、"7"と7では曖昧さがないように見える。

だが文字と数値を比べるということは
それは文法的には"0"と0を比べることも可能ということになるんだよ。

"0"は文字という実体がある。だから真
0は何もないという意味。だから偽

違うものなのにイコールになる。
どう考えても曖昧だろ。

218 :デフォルトの名無しさん:2010/09/04(土) 12:33:57 .net
>0は何もないという意味
君プログラマ?w

219 :デフォルトの名無しさん:2010/09/04(土) 12:40:36 .net
0は偽という点には反論しないのかw

お前は、どうでも良い揚げ足鳥にしか見えんのだが。
鳥なら鳥らしく飛んでみろよ。がけの上からな

220 :デフォルトの名無しさん:2010/09/04(土) 12:47:12 .net
言語による

Perlでは"0"は偽扱い
JavaScriptでは"0"は真扱い

221 :デフォルトの名無しさん:2010/09/04(土) 12:53:02 .net
揚げ足取りとか本気で言ってるなら大馬鹿だな。
とりあえず今の話題と「偽は0である」には何の関係もない。
言ってることが意味不明すぎる。

普通のプログラマなら、"7" == 7のような比較を許す言語では、
演算子==は2つのオペランドの型を揃えてから(要するに片方の値をもう片方の型に
暗黙的に変換してから)比較を行うんだろうと想像するだろう。

"7" == 7の場合は、恐らく"7"の方を整数に変換するルールを採用するんだろうね。
で、その方法にどこか曖昧さがあるのかよって。

まあ、あえて問題点も一つ指摘しとくけど、数値の文字列表現に桁区切りとか小数点が
入ってる場合は、そのルールが国や地域によって違うから問題がないわけじゃない。

222 :デフォルトの名無しさん:2010/09/04(土) 12:59:04 .net
>>221


> Perlでは"0"は偽扱い
> JavaScriptでは"0"は真扱い

223 :デフォルトの名無しさん:2010/09/04(土) 13:01:18 .net
なにが「つ」だ。
意味不明。ちゃんとした文章書け

224 :デフォルトの名無しさん:2010/09/04(土) 13:02:56 .net
a="0"
b=0

if a==b
 どっち?
else
 どっち?
end

曖昧だろ。

225 :デフォルトの名無しさん:2010/09/04(土) 13:07:43 .net
どこが曖昧なのかサッパリ理解できん。

仮に"0"が「特定の文脈において」bool値として扱われる言語があるとして、
それは「いつでも」そうであるということを意味しなければならない必然性はどこにもないはずだが...

本当に80代のジジイの思考力だな>>224

226 :デフォルトの名無しさん:2010/09/04(土) 13:08:48 .net
言語によって違うのを統一してほしいわ。
一つの言語しかやらない似非技術者はそれでいいんだろうけど。

文法が違うだけならまだ許せるが
同じ書き方をして、答えが違うのは
混乱の元。

227 :デフォルトの名無しさん:2010/09/04(土) 13:09:53 .net
>>225
お前は、一つの言語のルールさえ
覚えればいいから、それでいいんだろうさ。

228 :デフォルトの名無しさん:2010/09/04(土) 14:22:27 .net
C/C++での"0"は0\0と並んだ文字型配列へのポインタ
まあおすすめはしないがintとの比較も可能だろ。

229 :デフォルトの名無しさん:2010/09/04(土) 14:26:23 .net
"↑で?"

230 :デフォルトの名無しさん:2010/09/04(土) 14:41:25 .net
Cの場合
7 は 7
'7' は 0x37
"7" はポインタ

231 :デフォルトの名無しさん:2010/09/05(日) 13:33:15 .net
char ch = *("0123456789" + i);

232 :デフォルトの名無しさん:2010/09/05(日) 14:03:02 .net
char ch = "0123456789"[7];

233 :デフォルトの名無しさん:2010/09/05(日) 14:12:37 .net


234 :デフォルトの名無しさん:2010/09/05(日) 17:27:09 .net
>>227
君は同じ(ような)ルールの言語をいくつ覚える必要があるの?

235 :デフォルトの名無しさん:2010/09/05(日) 17:28:09 .net
char ch = 7["0123456789"];

236 :デフォルトの名無しさん:2010/09/06(月) 04:10:21 .net
>>234
言語の数だけ覚えるべきだろ。
元々コンピュータにあるのは数値だけだ。
型なんてものは元々存在しないのだから、型ってのは言語の都合でしかない。
そして言語の都合でしかないのだから、言語によって意味が違うのは当然のこと。
それを何か1つの言語の都合で統一したら他の言語が割を食う。

237 :デフォルトの名無しさん:2010/09/06(月) 04:40:21 .net
RubyなんてRails入れたら言語のルール変わるんだぜ

238 :デフォルトの名無しさん:2010/09/06(月) 07:12:26 .net
型=変数のサイズならハードレベルで存在するぞ

239 :デフォルトの名無しさん:2010/09/06(月) 07:33:00 .net
>>238
問題は、「型=変数」って前提に合意が得られるかだな

240 :デフォルトの名無しさん:2010/09/06(月) 08:06:12 .net
>239
たぶん>238は「型=変数のサイズ」って区切るんだと思うよ

241 :デフォルトの名無しさん:2010/09/06(月) 09:41:11 .net
つまり long と double は同じ型だったりするんですね
わかります

242 :デフォルトの名無しさん:2010/09/06(月) 09:50:28 .net
>238が言ってるハードレベルの差ってのはレジスタとかのことだろ
整数レジスタと浮動小数レジスタは別に決まってるだろうが
そんなことも説明されなきゃわからんのか

243 :デフォルトの名無しさん:2010/09/06(月) 19:48:45 .net
>>242
馬鹿だろあんた

244 :デフォルトの名無しさん:2010/09/06(月) 19:58:54 .net
Cなら変数の型とレジスタの種類が直結してるかもしれんが

高級な言語はもっと複雑な内部構造してるだろ。
JAVAなんか全部クラスだし。

245 :デフォルトの名無しさん:2010/09/06(月) 21:58:41 .net
longとdoubleは長さが違うだろ

246 :デフォルトの名無しさん:2010/09/06(月) 22:04:34 .net
>>244
ちがうだろ。

247 :239:2010/09/06(月) 23:36:47 .net
>>240
うん、俺もそこだと思ったけど、カッコの位置間違えた。

248 :デフォルトの名無しさん:2010/09/07(火) 17:40:25 .net
Javaってさ
OO言語とか言われてるけど
結局のところ
Cからポインタ使えなくして
ガベコレ付けて
ぬるぽ例外出るようにしただけの
箱庭低級言語なんだよね

249 :デフォルトの名無しさん:2010/09/07(火) 17:55:18 .net
>>248
・デフォでvirtual関数
・インタフェースの構文がある
・実装の多重継承を禁じた

C++に比べりゃだいぶ積極的だろ。OOPLとして。

250 :デフォルトの名無しさん:2010/09/07(火) 18:04:59 .net
C++とは比べてないだろ

251 :デフォルトの名無しさん:2010/09/07(火) 19:57:47 .net
>>248の考える高級なOOP言語って、LLのことだったりして。

252 :デフォルトの名無しさん:2010/09/07(火) 22:00:32 .net
>>248
ポインタ無いのに低級とかww

253 :デフォルトの名無しさん:2010/09/07(火) 22:31:50 .net
Javaにポインタないってw
ないならなんでぬるぽなんてエラーメッセージが出るのかね

254 :デフォルトの名無しさん:2010/09/07(火) 22:37:50 .net
ここで言ってる「ポインタ」って演算可能なメモリ番地(のようなモノ)のことだろ?

255 :デフォルトの名無しさん:2010/09/07(火) 23:02:30 .net
ポインタ無くしてガベコレまで付けたのにヌルポ出る言語って

256 :デフォルトの名無しさん:2010/09/07(火) 23:18:14 .net
馬鹿か。
無くしたのは「ポインタ演算」であってポインタそのものではない。

257 :デフォルトの名無しさん:2010/09/08(水) 07:23:33 .net
ぬるぽが出ることの何が悪いのかよくわからん
javaが例外投げすぎなところはあると思うがぬるぽは全然問題無いだろ

258 :デフォルトの名無しさん:2010/09/08(水) 07:38:49 .net
>>257
あんた読解力がないって言われるだろ。

259 :デフォルトの名無しさん:2010/09/08(水) 09:43:00 .net
NULLpointerExceptionが出ることが悪いとはだれも言ってないな

260 :デフォルトの名無しさん:2010/09/08(水) 13:44:58 .net
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>253
 (_フ彡        /

  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>255
 (_フ彡        /

  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ ←>>257
 (_フ彡        /




261 :デフォルトの名無しさん:2010/09/09(木) 23:07:51 .net
ぬるりひょん

262 :デフォルトの名無しさん:2010/09/10(金) 21:08:02 .net
>>238
>>236は「元々コンピュータにあるのは数値だけ」に対して「型は言語の都合」としてるんだ。
文字列型とかリスト型とか、そういう根本的に違う構造の型の話だろ。

263 :デフォルトの名無しさん:2010/09/10(金) 21:28:12 .net
まーC言語の組み込み型は長さの違いだけかなあ

264 :デフォルトの名無しさん:2010/09/10(金) 22:56:11 .net
まるで成長していない・・・

265 :デフォルトの名無しさん:2010/09/10(金) 23:01:53 .net
やっぱ、使わなきゃ成長しないよ

266 :デフォルトの名無しさん:2010/09/10(金) 23:39:27 .net
>1
これJavaの文法?
腐ってるね

267 :デフォルトの名無しさん:2010/09/11(土) 00:51:13 .net
>>266
Javaぐらい覚えろ。

268 :デフォルトの名無しさん:2010/09/11(土) 01:38:00 .net
>>266
s = Integer.toString(i);
も相当痛いよね

269 :デフォルトの名無しさん:2010/09/11(土) 17:10:33 .net
>164
金融計算の場合、誤差がないことを求められるんじゃなくて決められた丸め方(誤差の出し方)を守ることを求められてたような。


270 :デフォルトの名無しさん:2010/09/11(土) 17:15:59 .net
>169
> 一つは、恐らくビデオ回路の発振器の発振精度なんて恐らくそんな高くないから意味がない。
基準となるタイミング信号を用意して、全員それに合わせる方法で解決してる。
GenLockってのがそれ。

> フレームの間隔を1/60secで計算して生成した画像と、1001/60,000secで計算して生成した画像の差なんて、人間にはわからないw
1フレームでは分からないが、それが1時間とかあると3秒の差になったりする。
大した差じゃないと放置すると音や字幕がずれるので、全ての番組が終盤にいっこくどうに。
(実際にはこれも音声とビデオの周波数差を緻密に制御することで解決している)

271 :デフォルトの名無しさん:2010/09/11(土) 17:43:31 .net
>>269
かならず銀行が儲かるように四捨五入するんですねわかります

272 :デフォルトの名無しさん:2010/09/11(土) 19:12:24 .net
>>164
部下(下っ端)のせいにしてるけど、正しくは
丸め誤差を守るというのが顧客の要求仕様であるにもかかわらず、
プロジェクト計画段階で固定小数点の扱える金融計算ライブラリの導入を
決定する判断ができなかった上司(>>164)に原因がある

プロジェクトの問題を何でもメンバ(部下)のせいにするリーダ(上司)が多いのは現実だけど、
その大半の原因は部下ではなく、実はリーダの技術管理能力の問題にあった、というのは
よく知られた事実だったりする

273 :デフォルトの名無しさん:2010/09/11(土) 19:14:24 .net
技術に疎いから
「固定小数点の扱える金融計算ライブラリ」がなにであるか、
普通の型にはどんな問題があるか知らない。

274 :デフォルトの名無しさん:2010/09/11(土) 20:18:22 .net
>>270
>1フレームでは分からないが、それが1時間とかあると3秒の差になったりする。
>大した差じゃないと放置すると音や字幕がずれるので、全ての番組が終盤にいっこくどうに。
>(実際にはこれも音声とビデオの周波数差を緻密に制御することで解決している)

俺が言っているのはプログラム上の時刻と実時間との差。
君が言っているのは、映像と音声の同期の問題。
緻密に制御?何いってんの。

タイマ等を使って同じタイミングで数秒分の映像と音声のデータをそれぞれの
バッファにぶち込む、という誰でも思いつく方法でそんなものは実現できる。

275 :デフォルトの名無しさん:2010/09/12(日) 10:04:27 .net
なんか誤読で熱くなってないか

276 :デフォルトの名無しさん:2010/09/24(金) 01:07:45 .net
医療業界だと丸めはまた違うからな。
五捨五超入とか。
うちは自社開発だけど、ライブラリ売ってるのかな。

277 :デフォルトの名無しさん:2010/09/24(金) 02:54:10 .net
祝イチロー200本

278 :デフォルトの名無しさん:2011/02/18(金) 09:26:06 .net
>>46
Tcl辺りだとどうなのかな?

279 :デフォルトの名無しさん:2011/02/18(金) 09:35:10 .net
結局の所、タブルクオートと評価器の関係じゃないの?
シングルだと生だけど、ダブルは評価ありだからどのレベルまでやるかという話のような?

280 :天使 ◆uL5esZLBSE :2011/07/06(水) 06:32:27.76 .net
>>272
> プロジェクトの問題を何でもメンバ(部下)のせいにするリーダ(上司)が多いのは現実だけど、
ハッァァァァァァァアアァァアァァ????????????????????


281 :デフォルトの名無しさん:2011/11/11(金) 17:53:19.71 .net
というか一般論として、コンパイラの最適化を妨げるような真似しちゃ駄目

282 :デフォルトの名無しさん:2011/11/28(月) 01:27:51.19 .net
>274
> タイマ等を使って同じタイミングで数秒分の映像と音声のデータをそれぞれのバッファにぶち込む、という誰でも思いつく方法でそんなものは実現できる

概要を思いつけるのと実現できるのは全く別の話なんだけど。

そのタイマのタイミング(クロック周波数)を送信元と同じように作る必要がある。
たとえばGS4911Bってデバイスが実現してるのがそれ。

283 :デフォルトの名無しさん:2011/12/18(日) 01:13:00.70 .net
>>270
何をしたいのか解からん。
普通ストリームデータには、このコマは、何秒時点に表示するって情報があって、
動画再生する側は、その時間に間に合えばそのコマを表示する。間に合わなければ、
そのコマは捨てる。だから時間の累積誤差なんて起きん。

284 :デフォルトの名無しさん:2012/01/09(月) 22:09:21.74 .net
>>107は馬鹿だな、まで読んだ

285 :デフォルトの名無しさん:2012/08/06(月) 11:07:18.71 .net
逆に
s = "1" + "2";
見たいにした時にsは"12”になるべきなのか
"3”になるべきなのか


286 :デフォルトの名無しさん:2012/11/10(土) 11:56:18.16 .net
12

287 :デフォルトの名無しさん:2012/11/11(日) 05:10:08.11 .net
ここは間を取って7.5にしよう

288 :デフォルトの名無しさん:2012/11/12(月) 10:24:42.13 .net
間を取るなら6だろう。JK

と言う冗談はさておき、"1" + "2"が"3"になるのは勘弁して欲しいな。

289 :デフォルトの名無しさん:2012/11/12(月) 10:53:41.33 .net
Ruby だと "1" . "2" が
1.2 じゃなくて "12" なんだぜ

290 :デフォルトの名無しさん:2012/11/12(月) 21:47:19.05 .net
>>289
Perlの間違いじゃね?

291 :デフォルトの名無しさん:2012/11/15(木) 20:14:25.65 .net
sは
"12”になるべきなのか
"
3” ←ただのノイズ
になるべきなのか

ずいぶん長くなってしまうな

292 :デフォルトの名無しさん:2012/11/20(火) 14:50:20.98 .net
どう解釈されるかいちいち人間様が意識しないといけない時点で本末転倒
本来は人間様が楽するためにあるはずなのに

293 :デフォルトの名無しさん:2013/01/29(火) 09:52:53.80 .net
人によって解釈の仕方が違うから統一しとかないとだめだからだろう

294 :デフォルトの名無しさん:2013/10/19(土) 20:14:58.47 .net
>>293
世界征服の方が早そうだな

295 :デフォルトの名無しさん:2013/10/30(水) 09:30:42.97 .net
Magic quotesはオフにしよう
http://codezine.jp/article/detail/2480?p=2

 本題からは外れますが、特別な理由がない限り、SQL文はプリペアードステートメントを使って実行するようにしてください。
これはSQLインジェクション攻撃に対する最も基本的な対策です。基本的なことにも関わらず、プリペアードステートメントが
あまり使われていないのには以下のような理由があるのではないかと、筆者は推測しています。

SQLを文字列で作って実行するという直観的にわかりやすい方法が入門書等で紹介される。
初心者がそれをそのまま真似る。
SQLインジェクション攻撃に対して脆弱なウェブアプリが量産される。
PHPの開発者が「Magic quotes」というマジックを導入する。Magic quotesによって、ブラウザから送られた「O'Reilly」という文字列は、自動的に「O\'Reilly」に変換されようになる(脆弱性回避)。
この「O\'Reilly」という文字列は、プリペアードステートメントでは使えない(余計なバックスラッシュが入ってしまう)。
プリペアードステートメントは使われなくなる。

 データを勝手に書き換えてしまうMagic quotesがデフォルトで有効になっているのは困ったことです。
PHPをインストールしたら、設定ファイル(php.ini)を探して、「magic_quotes_gpc = Off」としておきましょう。

296 :デフォルトの名無しさん:2014/11/09(日) 07:30:26.87 ID:dOd/7vBB.net
>>296
C なんかユルユルだろ
ガチガチってのはこういうことだ

# 1 + 1.5;;
Error: This expression has type float but an expression was expected of type int
# float_of_int 1 +. 1.5;;
- : float = 2.5

297 :デフォルトの名無しさん:2014/11/09(日) 07:52:49.16 ID:5CcElDxt.net
1 + 1.5 -> 2
1.5 + 1 -> 2.5
が一番納得が行く

298 :デフォルトの名無しさん:2014/11/09(日) 08:43:44.19 ID:dOd/7vBB.net
>>297
"1" + 1.5 -> "11.5"
1.5 + "1" -> 2.5

だったら納得が行く?

という具合にこの辺考え出すと難しい問題なので、迂闊に他言語をdisるとブーメラン必至

299 :デフォルトの名無しさん:2014/11/09(日) 08:44:28.80 ID:dOd/7vBB.net
最後の一行は>>297にではなく一般論として。

300 :デフォルトの名無しさん:2014/11/09(日) 11:24:40.10 ID:QMG6pfcl.net
>>298
上はあり得ないな
下はエラーになってくれ

301 :デフォルトの名無しさん:2014/12/03(水) 08:02:12.39 ID:3JSuoVx9.net
var s = '' + n + m;
これでハマったわ

302 :デフォルトの名無しさん:2014/12/03(水) 22:34:40.13 ID:fPpGIPtv.net
var s = n + m + '';

303 :デフォルトの名無しさん:2014/12/05(金) 11:31:37.25 ID:S74tDLHo.net


304 :デフォルトの名無しさん:2014/12/19(金) 20:36:16.82 ID:3367BXhr.net
+が演算子として定義されていてオーバーロードされたかもしれないし
=がletなのかequalなのかで結果が違う
どの言語でどのような処理系ですか?で問題ないかも知れないしダメなのかも知れない
以上

305 :デフォルトの名無しさん:2015/02/27(金) 21:01:16.42 ID:QBCyKoap.net
typescriptだと
1 + ""
はコンパイルエラーにならんけど
"3" - 0
はコンパイルエラーになるな
Number("3")つかえという事か
Number.isNaN

306 :デフォルトの名無しさん:2015/02/28(土) 02:47:14.00 ID:6Lhyreb3.net
JSでは
Number("3")
とするのであれば
+"3"
とした方がJSらしくていいと思う

307 :デフォルトの名無しさん:2015/02/28(土) 10:52:24.78 ID:GKwojgPY.net
OOPLなのに+で文字列結合とか無いわー。
集合型と互換性なくなるじゃん。

"集合型と文字列型が互換性を持っているSmalltalkの例"
| value |

"加算"
value := #( 1 2 ) + 1. "-> #( 2 3 )"
value := 'AB' + ( $a - $A ). "-> ab"

"結合"
value := #( 1 2 ) , #( 3 ). "-> #( 1
2 3 )"
value := 'example', 10 printString. "-> example10"

"備考:書式付き文字列結合"
value := 'example%1' % { 10 }. "-> example10"

308 :デフォルトの名無しさん:2015/08/01(土) 11:31:27.94 ID:xbBMMZyR.net
ロケールによって小数点が.だったり,だったりするからナア
それが目的ならいいけど、"" + i だとわかってないように見える

309 :デフォルトの名無しさん:2015/12/01(火) 09:27:15.15 ID:m5SsaW1T.net
s = "" + i;
この書き方Javaの場合はコンパイル時に最適化されるって聞いたけど。

310 :デフォルトの名無しさん:2016/01/08(金) 22:22:54.98 ID:gaIg35ga.net
もう全部えらーにしてしまえ

311 :デフォルトの名無しさん:2016/03/01(火) 21:58:34.89 ID:rbYPAQPV.net
もうお前らで言語作れよw

総レス数 311
66 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★