LoginSignup
3
3

More than 5 years have passed since last update.

コーディング中に配列のサンプルデータをサクッと作る方法

Last updated at Posted at 2016-03-05

現在、スクリプト言語をひとつ習得しようと、pythonを勉強中です。
プログラミング言語を学習していてよくよく必要になるのが、サンプルデータ。

今回は配列(厳密に、pythonではリスト)のデータをvim + bashでサクッと作成する方法をば。

環境

  • Fedora 23
  • vim 7.4
  • python 2.7.10
  • bash 4.3.42

ちゃんと書きましたが、環境はそんなに問題にはならないかと思います。

データ作成

vimでソースファイルを開く。

$ vim sample.py

下記のような状態で、リストarrayに昇順な数値列のデータを代入したい。

#!/usr/bin/python

array = [
]

for i in array:
    print i

そんなとき、vimのコマンドラインモードがさく裂します。3行目のarray = [にカーソル持ってきて、ノーマルモードを以下を実行。

:r! echo {1..100}, | xargs -n 10

結果、以下のように数値列が挿入されます。

array = [
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
]

最後の要素に','がつくので、使用言語によっては削除が必要です。pythonは文法的には問題なし。あとは、インデント等適当に整形してください。(vimのノーマルモードで範囲選択して'>'が楽ちん)

コマンドラインモードのところでechoではなくseqなんかで頑張ればもう少し加工できますね。

追記

例えばpythonであれば、rangeなど組み込み関数使えば簡単に、簡潔に上記のデータは作成可能ですが、今回はあえて「vim+bashで汎用的に簡単に時短できるよ」、ということを示したかったので、その点ご了承くださいませぃ。

3
3
0

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