11

「コード スニペットの実行」とは、IDE を起動してダミー プロジェクトを作成することなく、数行のコードを記述し、実行してテストする機能を意味します。

プロジェクトを作成せずに小さなコード サンプルで人々を支援し、すべてをきれいにコンパイルし、コード スニペットを送信してプロジェクトを削除するのに非常に便利です。

最適なコード スニペットやスニペット エディター、スニペットの保存場所について質問しているわけではありません。

C# の場合は、Snippet Compilerを使用します。

Java の場合は、Eclipse Scrapbookを使用します。

LINQ にはLINQPadを使用します。

他の (より良い?) ツールに関する提案はありますか? たとえば、Eclipse の起動を伴わない Java 用のものはありますか?

Cはどうですか?

4

6 に答える 6

4

イデオンを試してみてください。C や Java を含む 40 以上のプログラミング言語でサーバー側でコードを実行できます (個人での使用は無料です)。

于 2010-12-28T13:49:24.733 に答える
3

C の場合、ブラウザー内のhttp://codepad.org/は本当に優れています。コードとすべてを実行します。

于 2008-11-05T01:35:57.643 に答える
1

JavaScript スニペットを実行するために、ほとんどのFirebugと Google Chrome JavaScript コンソールを使用しています。

F# ではInteractive Consoleを使用します。

于 2008-11-05T01:01:38.537 に答える
1

セマンティクスを確認するためだけに、非常に短いことを試してみたいことがあります。一時ファイルの作成とボイラープレートの挿入には 30 秒以上かかるため、次のスクリプトを使用します。

#!/bin/sh

body="$1"
out=$(mktemp /tmp/ccrun-XXXXXX)
src=${out}.c
cat > ${src} <<EOF
#include <limits.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

#define UNUSED __attribute__((unused))

int main(int UNUSED argc,char UNUSED *argv[])
{
EOF
echo "$body" >> ${src}
echo -e "return 0;\n}" >> ${src}
cc -std=c99 -Wall -Wextra ${CCRUN_FLAGS} -o ${out} ${src} -lm
shift
echo ${out} "$@"
${out} "$@"
#rm ${out} ${src}

サンプル呼び出し (このコードは関数ポインターの配列を静的に初期化します) は次のようになります。

$ ccrun 'int f(int a){return a+1;} int g(int a){return a+2;} int (*farr[2])(int) = {f,g}; for (int i=0; i<2; i++) printf("%d %d\n",i,farr[i](i));'
/tmp/ccrun-6nT4Wo
0 1
1 3

少し変更したい場合は、コマンド ラインを編集するだけです。コマンド ラインで扱いにくくなった場合は、一時ファイルを編集します。この場合は/tmp/ccrun-6nT4Wo.c. 実行可能ファイルへのコマンド ライン引数は、プログラムの後に指定できます (最初の引数)。実行可能ファイルはそのまま残されるため、再コンパイルせずに実行できます。どの言語でも同様のことができます。

于 2008-11-09T20:24:47.817 に答える
0

PythonとSageについては、 http://live.codenode.orgを試してください。これはオープンソースプロジェクトでもあり、BSDでライセンスされているため、自分のコンピューターからダウンロードして実行できます。詳細については、http://codenode.orgを参照してください。

于 2009-10-12T04:05:33.097 に答える
0

Ruby ではInteractive Ruby Shellを使用できます。

また、mono プロジェクトの第一人者がC# Interactiveを作成したようです。わーい

于 2008-11-05T09:16:45.730 に答える