a22_ufcs01
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* D言語のUFCSを真似したい#1
-(by [[K]], 2022.05.05)
** (1)
-UFCSというのは Uniform Function Call Syntax の略で、メン...
--ここに詳しい説明があります。
--https://tour.dlang.org/tour/ja/gems/uniform-function-ca...
-D言語では引数のない関数呼び出しの場合に()を省略できると...
-そもそもC言語にはメンバ関数がありません。だからC言語にUF...
** (2)
-UFCSができるようになったら、例えばこんなことができるはず...
// UFCSを使わない書き方
FILE *fp = fopen("abc.txt", "wt");
fprintf(fp, "hello!\n");
fclose(fp);
// UFCSを使ってこうしてみたい・・・
fopen("abc.txt", "wt").fprintf("hello!\n").fclose();
-これは、いい!と私は思うのです。
-一行で書けるところももちろんいいですが、fpの宣言がいらな...
~
-ちなみに私は、このUFCSを見た時に Objective-C を思い出し...
NSString* string = [[[NSString alloc] init] autorelease];
-こう、左から右につないでいけるって、本当にいいなって思い...
-これができなかったら、
fclose(fprintf(fopen("abc.txt", "wt"), "hello!\n"));
-ってなるんですよ。これはとても読みにくいです!
** (3)
-UFCSができるようになったら、関数の返値について、いろいろ...
-たとえばfread()はfpを返すべきでしょうか。それともbufを返...
-もしfpを返すなら、UFCSによってファイル関係の操作を連続さ...
-うーん、この場合はbufを返すほうが便利そうな感じがします。
-とりあえず、voidを返す関数は書かない気がします。連鎖しな...
-(編集中)
終了行:
* D言語のUFCSを真似したい#1
-(by [[K]], 2022.05.05)
** (1)
-UFCSというのは Uniform Function Call Syntax の略で、メン...
--ここに詳しい説明があります。
--https://tour.dlang.org/tour/ja/gems/uniform-function-ca...
-D言語では引数のない関数呼び出しの場合に()を省略できると...
-そもそもC言語にはメンバ関数がありません。だからC言語にUF...
** (2)
-UFCSができるようになったら、例えばこんなことができるはず...
// UFCSを使わない書き方
FILE *fp = fopen("abc.txt", "wt");
fprintf(fp, "hello!\n");
fclose(fp);
// UFCSを使ってこうしてみたい・・・
fopen("abc.txt", "wt").fprintf("hello!\n").fclose();
-これは、いい!と私は思うのです。
-一行で書けるところももちろんいいですが、fpの宣言がいらな...
~
-ちなみに私は、このUFCSを見た時に Objective-C を思い出し...
NSString* string = [[[NSString alloc] init] autorelease];
-こう、左から右につないでいけるって、本当にいいなって思い...
-これができなかったら、
fclose(fprintf(fopen("abc.txt", "wt"), "hello!\n"));
-ってなるんですよ。これはとても読みにくいです!
** (3)
-UFCSができるようになったら、関数の返値について、いろいろ...
-たとえばfread()はfpを返すべきでしょうか。それともbufを返...
-もしfpを返すなら、UFCSによってファイル関係の操作を連続さ...
-うーん、この場合はbufを返すほうが便利そうな感じがします。
-とりあえず、voidを返す関数は書かない気がします。連鎖しな...
-(編集中)
ページ名: