JavaScript と C#
- カテゴリ:
- JavaScript
- .NET/C#
- コメント数:
- Comments: 0
◆ JavaScript のコードを C# でも動くようにした
◆ すべてのコードが動くってことではありません
◆ すべてのコードが動くってことではありません
これの続き
http://var.blog.jp/archives/47330525.html
ここにコードがあります
csv
JavaScript っぽいコードですよね
JavaScript で実行してみます
val の値は
となりました
では 次に C# で実行してみましょう
JavaScript と同じメソッドを使えるように色々定義していますが Main 関数のところは同じコードです
この調子でメソッドを色々追加すればほぼ JavaScript 風に実行できるような気がします
http://var.blog.jp/archives/47330525.html
ここにコードがあります
var csv = "1,2,3,4,5\n2,3,4,5,6\n3,4,5,6,7";
var val = csv.split("\n").map(e => {
return e.split(",").reduce((a, b) => a + parseInt(b), 0);
}).join(",");
var val = csv.split("\n").map(e => {
return e.split(",").reduce((a, b) => a + parseInt(b), 0);
}).join(",");
csv
1,2,3,4,5
2,3,4,5,6
3,4,5,6,7
があって 各行の合計値を1行の csv にしたのを出力するものです2,3,4,5,6
3,4,5,6,7
JavaScript っぽいコードですよね
JavaScript で実行してみます
val の値は
15,20,25
となりました
では 次に C# で実行してみましょう
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
static class Program
{
static public string join<T>(this IEnumerable<T> strs, string separator)
{
return String.Join(separator, strs);
}
static public List<string> split(this string str, string separator)
{
return str.Split(new string[] { separator }, StringSplitOptions.None).ToList();
}
static public IEnumerable<TR> map<T, TR>(this IEnumerable<T> list, Func<T, TR> fn)
{
return list.Select(fn);
}
static public TR reduce<T, TR>(this IEnumerable<T> list, Func<TR, T, TR> fn, TR acc)
{
return list.Aggregate(acc, fn);
}
static public int parseInt(string str)
{
return int.Parse(str);
}
static public void Main()
{
var csv = "1,2,3,4,5\n2,3,4,5,6\n3,4,5,6,7";
var val = csv.split("\n").map(e => {
return e.split(",").reduce((a, b) => a + parseInt(b), 0);
}).join(",");
Console.WriteLine(val);
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
static class Program
{
static public string join<T>(this IEnumerable<T> strs, string separator)
{
return String.Join(separator, strs);
}
static public List<string> split(this string str, string separator)
{
return str.Split(new string[] { separator }, StringSplitOptions.None).ToList();
}
static public IEnumerable<TR> map<T, TR>(this IEnumerable<T> list, Func<T, TR> fn)
{
return list.Select(fn);
}
static public TR reduce<T, TR>(this IEnumerable<T> list, Func<TR, T, TR> fn, TR acc)
{
return list.Aggregate(acc, fn);
}
static public int parseInt(string str)
{
return int.Parse(str);
}
static public void Main()
{
var csv = "1,2,3,4,5\n2,3,4,5,6\n3,4,5,6,7";
var val = csv.split("\n").map(e => {
return e.split(",").reduce((a, b) => a + parseInt(b), 0);
}).join(",");
Console.WriteLine(val);
}
}
}
15,20,25
JavaScript と同じメソッドを使えるように色々定義していますが Main 関数のところは同じコードです
この調子でメソッドを色々追加すればほぼ JavaScript 風に実行できるような気がします