Notices by ikeji (ikeji@ostatus.ikeji.ma), page 2
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Saturday, 09-Nov-2024 11:06:00 JST ikeji つくばっく -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Friday, 08-Nov-2024 00:49:45 JST ikeji @tadd DDDとかを熱狂的に信じてる人だと、Stringを受けとるのはケシカラン、BcryptPassword型を作ってそれを渡せ、とか言うのだろうか? -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Friday, 08-Nov-2024 00:46:19 JST ikeji @tadd あれ、RHGに常にヌル終端だと書いてあった気がするんだけど、変わった?さすがに昔すぎるか? -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Friday, 08-Nov-2024 00:41:08 JST ikeji @tadd
> - char*で取り回すコードが大量に出回っている現実と、ヒープを受け取りたい必要性があるので、それをchar s[static 73](の逆版)みたいなので置き換えられるとはあまり思えないし、メリットが少なさそう
char* からchar x[n]への変換時に、手動で長さがn以下だとチェックしてなかったら警告出すぐらいなら、コードアナライザとかでできたりしないかな?
メリットないか。
> 想像は、文脈含めて流石にできなかった(できない)と思いますです。
それはすまんかった。
>「Cの文字列型の中には長さが入っているものもある」ならわかる。
「Cでも関数の引数に受け取る文字列の最大長さを記述する事は可能(書いたからと言って何か意味があるとは言ってない)」
ぐらいを言うべきだった。 -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Friday, 08-Nov-2024 00:33:54 JST ikeji @tadd
https://web.archive.org/web/20151125114234/http://www.codexterity.com/delphistrings.htm をまとめると、
# ShortString (String)
最初からあった文字列型
型に最大長さがある。(デフォルトで255、最大255)
値に長さが保存されてる。
型の長さが違うと違う型として扱われるのでキャストできない。
# openstring
型に最大長さがない。
値に長さが保存されてる。
どの最大長さのShortStringでも入れられる。
ポインタ型とセットでないと使えない。
# PChar
Cのchar*との相互運用用に導入された。ヌル終端。
型に最大長さがない。
値に長さが保存されてない。
# AsciiString
PCharとShortStringの良いところどりをしたい。ヌル終端。
型に最大長さがない。
値に長さが保存されてる。
AsciiStringは、先頭に長さがあって、最後にヌル終端してあるけど、
これはRubyのStringがそうだったなと思った。 -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Friday, 08-Nov-2024 00:18:33 JST ikeji @tadd
ここでは、72文字までを受け取る関数が書きたいという話だったと思う。
CもPascalも最大長を気にしない文字列を受け取る関数も気にする関数も書けるけど、
Cではメモリサイズが大きい文字列を、小さい文字列に渡しても警告も出ないが、
Pascalでは厳密にメモリサイズをチェックする。
と理解した。
Cでchar*で受け取るのも、Pascalでopenstringで受け取るのもできるけど、それは今やりたいことではないのではないかと思った。In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Friday, 08-Nov-2024 00:10:46 JST ikeji @tadd https://web.archive.org/web/20151125114234/http://www.codexterity.com/delphistrings.htm
違いに関してはこれが詳しそう。In conversation from social.076.moe permalink Attachments
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 23:49:28 JST ikeji @tadd さっきのfreepascalのマニュアル見ると違うな。 In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 23:45:19 JST ikeji @tadd 20年以上前の事でよく覚えてないんだけど、
string →長さが指定できる
ShortString →string[255]へのエイリアス
String → ライブラリが用意する構造体、C++のStringみたいなやつ
とかじゃなかったっけ?他の長さのもあった気がする。In conversation from ostatus.ikeji.ma permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 23:40:44 JST ikeji @tadd どれがどれへのレスポンスかわからなくなってきた。 In conversation from ostatus.ikeji.ma permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 23:40:18 JST ikeji @tadd 例えば、
void a(char b[10]);
a("abc");
は警告出るよね。In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 23:27:09 JST ikeji @tadd ところで、短いやつにキャストしても怒られないだけで、Cも文字列型に長さが入ってると言える? In conversation from social.076.moe permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 23:26:03 JST ikeji @tadd いや、ShortStringが10個は
array [1..10] of ShortString
だと思う。
http://kaitei.net/pascal/arrays/In conversation from ostatus.ikeji.ma permalink Attachments
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 23:09:33 JST ikeji @tadd いや、普通にstring[10]とか使えるよ。 In conversation from ostatus.ikeji.ma permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 23:01:01 JST ikeji @tadd それは、Cで言うところの、
typedef char[255] ShortString;
みたいな意味だと思う。In conversation from ostatus.ikeji.ma permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 22:39:34 JST ikeji @tadd Pascal文字列も常に256バイト確保するわけじゃないはずなので、短かくしか確保されてない型があるんじゃないでしょうか? In conversation from ostatus.ikeji.ma permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 22:38:31 JST ikeji @tadd 😀 In conversation from ostatus.ikeji.ma permalink -
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 22:08:44 JST ikeji @tadd goのbcryptは、長い文字列を渡すとエラーを出すらしい。
https://pkg.go.dev/golang.org/x/crypto/bcrypt
> ErrPasswordTooLong is returned when the password passed to GenerateFromPassword is too long (i.e. > 72 bytes).
Pascalは型に文字列の最大長が入ってたっけか?In conversation from ostatus.ikeji.ma permalink Attachments
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 21:03:26 JST ikeji https://www.printables.com/model/74303-chair-stacking-game-no-supports In conversation from ostatus.ikeji.ma permalink Attachments
-
ikeji (ikeji@ostatus.ikeji.ma)'s status on Thursday, 07-Nov-2024 11:08:57 JST ikeji なるほど、「チャット」ってのは今はまだ人間と話すことを指すが、そのうち機械と話すことを指して、人間と話すことは別の言葉になるのか。 In conversation from ostatus.ikeji.ma permalink