HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0908
レヴィンstrf関数のバグ(3.2β1)14解決


レヴィン

リンク

2008/9/8(Mon) 04:30:25|NO.19145


※以下のことは3.2β1のみでしか試してません。他のバージョンでのことはわかりません。
strf関数のバグを発見しました。
書式指定で%桁数の指定が正しく反映されません。

例えば実験スクリプトのように"%9d"を指定した場合、本来なら、
9文字分のスペースにScoreの値が右寄りで表示されるはずです。
が実行すればわかると思いますが、中心に寄ってしまいます。
また前後に文字が入っているかどうかは関係ないようです。
しかし、"%09d"と指定した場合は正しく動作します。

フォントによっては中心よりになったり、中心少し右よりになったりしますが、
指定どおりの位置になりません。
桁数が少ないとあまりズレないので気づきにくいですが。

以下実験用スクリプト

font "HGSゴシックE",16,16 color 0,0,0:boxf color 255,255,255 Score=123 pos 0,64:mes "Score : "+strf("%9d",Score) Score=0 pos 0,96:mes "Score : "+strf("%09d pts.",Score) Score=123456789 pos 0,128:mes "Score : "+strf("%9d pts.",Score) Score=12345678 pos 0,160:mes "Score : "+strf("%9d pts.",Score) Score=1234567 pos 0,192:mes "Score : "+strf("%9d pts.",Score) Score=123456 pos 0,224:mes "Score : "+strf("%9d pts.",Score) Score=12345 pos 0,256:mes "Score : "+strf("%9d pts.",Score) Score=1234 pos 0,288:mes "Score : "+strf("%9d pts.",Score) Score=123 pos 0,320:mes "Score : "+strf("[%9d] pts.",Score)



この記事に返信する


S&R(楓)

リンク

2008/9/8(Mon) 06:27:13|NO.19147

もっと単純に実験してみてよ。

font "HGSゴシックE",16,16 color 0,0,0:boxf color 255,255,255 mes " 123" mes strf("%9d",123) mes strf("%09d",123) font "MS ゴシック",16,16 mes " 123" mes strf("%9d",123) mes strf("%09d",123)



S&R(楓)

リンク

2008/9/8(Mon) 07:39:15|NO.19150

strf()は、書式にしたがって'文字列を整形する'と思ってください。(スペースが何個とか、0が何個とか)
'描画を整形する'ものではありません。

i = 123 if strf("%9d",i) == " 123" { mes "strfは正しく動作しています" } else { mes "strfは不具合があります" }



あり

リンク

2008/9/8(Mon) 08:28:10|NO.19152

>おそらく昨日今日strf()を使い始めたばかりで早とちりしたんでしょうね。
>多くは語りませんので、自分で振り返ってみてください。
これがトゲ(と言うより嫌味)だという事に気がついて下さい。
わざわざレスを追加してまで言う事ではないでしょう?



S&R(楓)

リンク

2008/9/8(Mon) 08:47:29|NO.19153

・・・。

ありさんがそういうなら、トゲむき出しで言いますけど、
strfの戻り値がどういう中身か確認せず、
返ってきたものをそのまま表示しただけで
よくもバグって断言できましたね。
デバッグが甘すぎだと思います。



あり

リンク

2008/9/8(Mon) 11:11:01|NO.19156

レヴィンさんへの指摘については別に問題ないですよ。
むしろ模範的ともいえるくらいです。

ただ、NO.19151の書き込みが余分なものだと言っているんです。
そんなことを追加してまで言わなくても、レヴィンさんは指摘を受け入れた上で
ちゃんと再検証してくれる筈ですから。
それに一回や二回の検証でバグと断定した訳でもないでしょうしね。

別に自分の思った事を全部書き込む必要はないでしょう?
言わない事で波風を立たせない事も世の中多いのですから。
それが人を見下してるとも受け取れる文章ならなおさらです。

もし、自分のミスにNO.19151のような事を言われたら気分が良くないでしょう?
ならそれは言う必要のない事なんですよ。
それでもあえて言うというのなら、もっと自分でも言われて納得できる
言い方があるはずですから。



レヴィン

リンク

2008/9/8(Mon) 19:15:48|NO.19178

>>おそらく昨日今日strf()を使い始めたばかりで早とちりしたんでしょうね。
>>多くは語りませんので、自分で振り返ってみてください。

S&R(楓)さん、いやぁ、すばらしい決め付け本当にありがとうございます。
あなたの洞察力は俺の中では高評価ですよ。指摘のほうはさらに高評価ですけどね。

まぁ、いやみは置いといて、strfを使い始めたのは1年以上前ですよ。
正確に言うと前のことすぎて覚えてないってところです。

>>'描画を整形する'ものではありません
そのようです。

すいません。返り値チェックはしてませんでした。
どうやら、右詰にはなってるはいるものの、フォントの特性上
描画時にこうなってしまうようです。勘違いしてしまいました。

いつもはmesを使わず、ZGPプラグインのmes2くらいしか使わないうえに、
こっちだと、最初に言ったように指定したスペース数の中に右詰で表示されており、
mesでもMSゴシックの時は右詰になっていたので、描画も整形するものかと
思ってました。

それと、位置がずれてしまうのは数値をstrfを使い文字列を変換後全角化することで回避
できるようです。(HGSゴシックEの場合は)



S&R(楓)

リンク

2008/9/9(Tue) 06:44:39|NO.19254

いやみ と 言い訳 は別物ですよっと。



あり

リンク

2008/9/9(Tue) 09:47:50|NO.19256

毎日のように早朝から何を書き込んでるんだか、・・・私もですが・・・。

>いやみ と 言い訳 は別物ですよっと。
そうやって誰の為にもコミュニケーションにもならない事ばかり書き込んで
自分から敵ばかり増やして、最後に皆から罵倒でもされたいんでしょうか
S&Rさんは・・・?

掲示板に書かれている事だけが、人の本音だとでも思ってるんですかね?
自分がどんな目で周囲から観られているのか、わからないんでしょうか・・・。

どの道、このままいってもろくな結果にならないので
もう止めておきましょう。
ネット上であっても人と関わる以上、現実である事にはかわりはありませんよ?



常連の誰か

リンク

2008/9/9(Tue) 15:19:50|NO.19259

あり さんに一票
前からウザいとは思っていた・・・・が相手にするのが
面倒かつ絶対反省しないのはわかっていたので消えるのを待っていた
・・・が言ってくれた人がいた。
全力で応援するといってもできることはないので全力で支持することだけ伝えておく

悪文だったら極力無視すりゃいいんでね?



テトラヒドロフラン

リンク

2008/9/9(Tue) 16:35:57|NO.19260

人の神経を逆なでることしか出来ないんでしょうかね?
S&Rさんの3つ目のレスは明らかに要らないものでしょう。
質問に対する答えだけでは足りないんですか?
もし、明らかに調べが足りないというようなことがあっても、
「もう少し自分で調べたほうが良いかもしれませんね。」程度に言えないのでしょうか。
プログラマとしては上級者かもしれませんが、コミュニケーションの取り方はなってないと思いますよ。



S&R(楓)

リンク

2008/9/9(Tue) 16:51:41|NO.19261

バグでないものをバグと決め付けたあげく、勘違いを詫びるでもなく開き直りと取れる文章に

おにたまさん、strfを可変引数対応したOpenHSPコミッターの方

を侮辱された思が込み上がってきてついふっと読む人の気持ちを考えずに投稿してしまいました。
反省します。



S&R(楓)

リンク

2008/9/9(Tue) 16:53:20|NO.19262

みなさんのご意見をふまえて
3つ目の書き込みを削除しました!^−^



レヴィン

リンク

2008/9/10(Wed) 00:57:11|NO.19320

>>バグでないものをバグと決め付けたあげく、勘違いを詫びるでもなく開き直りと取れる文章に

確かに勘違いに関しては謝罪してませんでしたね。
勘違い失礼しました。

>>おにたまさん、strfを可変引数対応したOpenHSPコミッターの方
>>を侮辱
侮辱する気はないですよ。
S&R(楓)さんがそう思ったならそれはそれでかまいません。
文章の内容をどう取るかは人それぞれですから。



S&R(楓)

リンク

2008/9/10(Wed) 06:15:59|NO.19321

>確かに勘違いに関しては謝罪してませんでしたね。
>勘違い失礼しました。
はい。もっと慎重にデバッグをお願いします。
>侮辱する気はないですよ。
そうですか…過剰な妄想失礼しました。



ONION software Copyright 1997-2023(c) All rights reserved.