LoginSignup
3
3

More than 5 years have passed since last update.

swiftを触ってみた

Last updated at Posted at 2014-06-04

swiftをちょこっと触って見ました。NDAには触れないと思います。

試すのに便利な事に、 web から実行できるplayground が用意されていますので、下のURLを開き、
右の「Try Swift online」をクリックします。

  tracef("こんにちは。これは %s のコードです\n","Swift");

そして execute を押します。

Swift run starting at 08:15:49
08:15:52 ??????????????????????????? Swift ??????????????????
Final status: 08:15:52

うーん、残念。日本語は化けてしまうようですね。

  • Mapperとforeach

上のリストボックスからforeachを選ぶと、以下の用に出てきます。

type file;

app (file o) simulate_app ()
{
  simulate stdout=filename(o);
}

foreach i in [1:10] {
  string fname=strcat("output/sim_", i, ".out");
  file f <single_file_mapper; file=fname>;
  f = simulate_app();
}

ここで、

app (file o) simulate_app ()

は関数を示します。また、

foreach i in [1:10] {

は繰り返しを示します。ここで重要なのは、foreachの中は 並列実行 される、
ということです。

また、以下の部分を見てください。

  file f <single_file_mapper; file=fname>;

swiftの特徴の一つとして mapper というのがあります。

これはメモリ上にあるデータセットをファイルとしてマップする、というものです。
上記例では、 single_file_mapper というデフォルトで用意されているmapperを使い、
simulateで生成した乱数を書き出しています。(simulateがまだよく分かってないので違うかもしれません)

実行すると、下のリストボックスに 「output/sim_1.out」 などがでてきますので、それを見るとファイルが吐き出されていることが分かります。

1から10までのファイルに並列に書き出しています。

このように、 swift を使うと、並列実行やメモリとファイルの透過的処理ができますので、シミュレーションなどに便利だと思います。

3
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3