「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@150) [低] [感想]
@150■ (#383) 1000<999 ? - 五十六 (2009-01-03 03:05) /低 未処理
【症状】1000台の数値比較がおかしい。1000台の数値は0~1として計算されている?
【再現方法】
A=「1000」。
B=「999」。

もし、A>Bならば、「{A}>{B}」と言う。
もし、A=Bならば、「{A}={B}」と言う。
もし、A<Bならば、「{A}<{B}」と言う。

//1000<999

【要望】なおして~!
【バージョン】1.515
【その他】1000台だけじゃないかも・・・

(#384) 「1000」<「999」で、そして1000>999 - mr (2009-01-03 09:09) /低 調査中
変数の型が文字列だからだと思います。

######
 A=「1000」
 B=「999」

 もし、A>Bならば、「{A}({Aの変数型確認})>{B}({Bの変数型確認})」と言う。
 もし、A=Bならば、「{A}({Aの変数型確認})={B}({Bの変数型確認})」と言う。
 もし、A<Bならば、「{A}({Aの変数型確認})<{B}({Bの変数型確認})」と言う。
 
 A=TOINT(A)
 B=TOINT(B)
 
 もし、A>Bならば、「{A}({Aの変数型確認})>{B}({Bの変数型確認})」と言う。
 もし、A=Bならば、「{A}({Aの変数型確認})={B}({Bの変数型確認})」と言う。
 もし、A<Bならば、「{A}({Aの変数型確認})<{B}({Bの変数型確認})」と言う。

 A=1000
 B=999
 
 もし、A>Bならば、「{A}({Aの変数型確認})>{B}({Bの変数型確認})」と言う。
 もし、A=Bならば、「{A}({Aの変数型確認})={B}({Bの変数型確認})」と言う。
 もし、A<Bならば、「{A}({Aの変数型確認})<{B}({Bの変数型確認})」と言う。

#####

というわけで、これはバグではないと思います。

(#385) な、なんだってー! - 五十六 (2009-01-03 12:57) /低 解決
ごめんなさいー!
今度から とは数値 とかちゃんとしますー!

(#386) とは数値 - パソコン大好き (2009-01-03 21:41) /低 解決
「とは数値」とかは関係ない(意味がない)ような気がするのですが・・・

(#387) なでしこの変数の型はカメレオン - mr (2009-01-03 23:10) /低 解決
なでしこの変数の型はどんどん変化して、それを止めることはできないみたいです。

なので、「変数の型?なにそれ?おいしいの?」ぐらいの超初心者にとっては、なんとなく書いてもエラーにならず動いてくれて嬉しい側面があると思うのですが、それを超えた後で、結構悩まされるポイントのような気がします。

(#388) RE:なでしこの変数の型はカメレオン - 五十六 (2009-01-04 00:03) /低 感想
ガーン

(#390) RE:なでしこの変数の型はカメレオン - パソコン大好き (2009-01-04 10:10) /低 感想
ここまで意味がないのなら、「とは{基本型}」はいらないような気も・・・
(数値・整数・実数・文字列など)
型を強制できるとうれしいんですけどね。
VisualBasicのようにバリアント型をデフォルトにするとか。
でも下手に言語仕様を変えるのも大変だと思うので、なでしこ2.0あたりで実装されるといいなあ。

(#391) なんか違うところで意味があったような… - mr (2009-01-04 22:40) /低 感想
確か、変数のスコープ関連で、「とは」で宣言するかしないかで意味が違ってくるような話があったような気がします。(これはこれでどうなんだろうという話はあるかも知れませんが…)

(#392) 確かにありました - パソコン大好き (2009-01-05 11:32) /低 感想
たしかに、ローカル変数を宣言するときに必要みたいですね。
http://nadesi.com/wiki/index.php?canot%2F%A5%E1%A5%E2%2F%CA%D1%BF%F4%A4%CE%A5%B9%A5%B3%A1%BC%A5%D7

デフォルトで変数宣言が不要だからでしょうね。
宣言しないとスコープが分かりませんから。
なでしこにはBASICのDimみたいな命令ないですし。(つまり宣言だけ)

(#393) 宣言の意味がない - 99yen (2009-01-05 11:54) /低 感想
Aとは整数
A=「あ」
Aの変数型確認を表示 # →文字列

これでエラーが出ないですからね・・・せめて宣言したものは変数型のエラーが出て欲しいですが。

(#395) 初期値代入なら・・・ - U D (2009-01-05 13:03) /低 感想
初期値代入なら型は強制されますよ。

Aとは整数=「100」
Aの変数型確認を言う

(#396) でもなあ - パソコン大好き (2009-01-06 09:11) /低 感想
初期値代入だと、それこそTOINTやTOSTRを通したようになりますね。
でも初期値は把握できてるはずだからなあ・・・
それに強制というより変換(キャスト)ですよね。

(#465) 確かに・・・ - クジラ飛行机 (2009-01-31 23:39) /低 感想
そういえば、型が強制された時、変換される場合はエラーにしようと思いつつ、実装するのを忘れていました。。
今さら仕様を変えるのもなんですが、型の強制機能を追加した方が良いですね・・・。悩むところです。

(#383)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能