利用者:Takym/プログラミング言語サンプルコード
表示
このページではプログラミング言語ページのサンプルコードの表示方法の統一についてまとめる。
方針
[編集]表示方法の統一方針案
[編集]A案
[編集]- 保存されたサンプルコードを表示するモジュール(内部的にはこちらのテンプレートを使用しています。)を作成し、同じサンプルコードをどのページからでも表示できる様にします。どのページからでも表示できる様にするのは下記の3に関連します。
- プログラミング言語のページの冒頭や概要表等にモジュールを呼び出す記述を追加します。
- サンプルコードを集約させたページを作成します。これはプログラミング言語に関して記述されたページを探す利便性を持つと思います。(関連するノート)
サンプルコード掲載方針案
[編集]A案
[編集]- その言語の特徴を中立に表している。利点と欠点の両方を含まなければならない。
- 適宜コメントを含んでも良い。ただし、過剰にコメントを入れる事により可読性を下げてはならない。
- 出典を明確にし、独自研究を含まない。
- 1行~20行以内の短いコードである。
- その言語の特徴を表しているのであれば、Hello World プログラムでも可。標準出力に出力するサンプル文字列は Hello World である必要はない。
関連するページ
[編集]関連する記事
[編集]- コンピュータ言語
- プログラミング言語
- プログラミング言語一覧
- スクリプト言語
- 問い合わせ言語
- Hello_world
- Hello_worldプログラム (削除済み?)
- Hello_worldプログラムの一覧 (削除済み)
関連する議論
[編集]- ノート:Hello_worldプログラムの一覧#一覧ページ復活と自動化について
- プロジェクト‐ノート:コンピュータ#プログラミング言語のページに関して提案があります。
- Wikipedia:井戸端/subj/プログラミング言語ページのサンプルコードの表示方法の統一
関連するカテゴリ
[編集]メモ
[編集]- 完了テンプレートの作成
- 未了...サンプルコードの作成
- LINQ は言語ではなく機能なので作成しない。
- 複数の言語を併記する。
- 話が逸れるが、C# は機能が多いが、サンプルコードにはどの機能を入れるべきか考える必要がある。
サンプルコード
[編集]C言語
- main.c
#include <stdio.h>
#define BEGIN int main(int argc, char *argv[]) {
#define END }
#define IF(condition) if (condition) {
#define ELIF(condition) } else if (condition) {
#define ELSE } else {
BEGIN
IF(argc <= 1)
printf("There are no arguments.\r\n");
ELIF(argc == 2)
printf("There is one argument.\r\n");
ELSE
printf("There are %d arguments.\r\n", argc - 1);
END
END
マクロを使うと文法を大きく変える事ができる。
C# (10.0 以上)
- Program.cs
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using static System.Console;
class Program {
static async Task Main() {
await foreach (var item in from x in LoadDataAsync() select x?.ToUpper()) {
WriteLine(item ?? "<<値は null です。>>");
}
}
static async IAsyncEnumerable<string?> LoadDataAsync() {
yield return await Task.Run<string?>(string? () => null);
yield return await Task.Run(() => "hello world");
yield return await Task.Run(() => $"0x{123:X2}"); // 数値に書式設定している。
}
}
LINQと非同期処理を混在させた例。実行するにはSystem.Linq.Asyncをインストールする必要がある。名前空間の宣言とアクセス修飾子は省略している。