RSS

カテゴリー別アーカイブ: 未分類

PowerShell: 配列の内容を指定通りに並べ替える。

JSON ファイルで指定した順番に配列の内容を入れ替えるサンプルです。

# alloc.json で指定された順序で配列を並び替える。
$alloc = get-content -raw alloc.json | ConvertFrom-Json
get-content alloc.json
$data = "ふぐ", "さば", "はぜ", "いわし", "あじ"
$data -join ","
$arr = new-object System.String[] 5

for ($i = 0; $i -lt $alloc.length; $i++) {
  $p = $alloc[$i]
  $arr[$p] = $data[$i]
}

$arr

実行例

allocarray

 
コメントする

投稿者: : 2016/12/21 投稿先 PowerShell, 未分類

 

sed を使って行末コードを変更する

Windows ではテキストファイルの行末は CRLF である。一方、Linux では LF のみである。Windows のテキストファイルを Linux 用にするには sed で

sed “s/\r//” text1.txt

のようにすると、不要な CR を除去できる。

逆に Linux のテキストファイルを Windows 用にするには

sed “s/$/\r/” text2.txt

のようにすると行末つまり LF の前に \r が挿入される。

結果を別のファイルに保存するにはリダイレクトを使用する。結果をそのファイルに上書き保存するには -i スイッチを使用する。

sed -i “s/\r//” text1.txt

 
コメントする

投稿者: : 2016/10/19 投稿先 未分類

 

VMWare のネットワークをNATで接続する

VMWare のネットワーク設定では「ブリッジ接続」が一番簡単ですが、なぜかうまく繋がらなかったり、社内のネットワーク環境では都合が悪かったりすることがあります。

そのような場合、NAT 接続を試してみるといいかもしれません。

VMWare の仮想マシン設定で「ネットワークアダプタ」を選び、ネットワーク接続ラジオボタン群の中から NAT をチェックします。

ゲストOSのネットワーク設定は DHCP にします。例えばUbuntuなら、/etc/network/interfaces を編集して下のようにします。

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

仮想マシンを再起動して、IP アドレスを ip a コマンドなどで確認します。

その IP アドレスで SSH 接続などを行ってみます。

DHCP でなく固定IPアドレスを使いたい場合は、Windows のコントロールパネルで

コントロール パネル\ネットワークとインターネット\ネットワーク接続

を開き、VMWare Network Adapter VMnet8 を開き、「詳細」ボタンをクリックして「ネットワーク接続の詳細」ウィンドウを表示します。

その内容と矛盾しないように、ゲストOS のネットワーク設定を行ってください

例えば下の例で、ネットワークアダプタVMnet8 のIPアドレスが 192.168.44.1 になっているので、ゲートウェイはこのアドレスにしないと外部と接続できません。

VMWareNetworkAdapterVMnet8

 

 

 

 
コメントする

投稿者: : 2016/08/07 投稿先 Linux, 未分類

 

Visual Studio で行番号を表示するには

  1. 「ツール/オプション」メニューを実行してオプションダイアログを開きます。
  2. 「テキストエディター」から「全般」を選びます。
  3. 「行番号」チェックボックスをチェックします。

OptionDialog_TextNumber

この記事は Visual Studio 2015 で確認しています。

 

 
コメントする

投稿者: : 2016/07/14 投稿先 未分類

 

x86 g++ のソースを x64 g++ でコンパイル

x86 版 Ubuntu でビルドできた Shared Object (so ファイル) を生成する C++ ソース を x64 版でコンパイルしなおしたらエラーが出ました。エラーの内容は大きく分けて次の2点。

error: ‘sleep’ was not declared in this scope
関数はsleepだけではなく、他にもたくさんありました。これは、unistd.h がソースに含まれていないと出るようです。unistd.h を単純に追加したら解決。

/tmp/cc9bT00P.o: error adding symbols: Bad value
これはコンパイルスイッチに -fPIC を追加する必要があるようです。次のような親切なメッセージが表示されました。(笑)

/usr/bin/ld: /tmp/cc9bT00P.o: relocation R_X86_64_32S against `.data’ can not be used when making a shared object; recompile with -fPIC

 
コメントする

投稿者: : 2016/06/30 投稿先 C, 未分類

 

MSBuildでXMLドキュメントを出力するには

MSBuildでXMLドキュメントを出力するには

PropertyGroupにDocumentationFileを追加すると、XMLドキュメントを出力できる。

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
       ....
    <DocumentationFile>$(OutputPath)document.xml</DocumentationFile>
  </PropertyGroup>

サンプルプログラム

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
namespace LinqToArray
 {
 /// <summary>
 /// Program class
 /// </summary>
 class Program
 {
 /// <summary>
 /// メインプログラム
 /// </summary>
 /// <param name="args">コマンドライン引数</param>
 static void Main(string[] args)
 {
    string[] array = { "Pentium", "Pentium MMX", "Pentium Pro", "Pentium II", "Pentium III", "Pentium 4", "Pentium D", "Core2 Duo", "Core2 Quad" };
Console.WriteLine("[All]");
 var q = from x in array select x;
 foreach (var x in q)
 {
   Console.WriteLine(x);
 }
Console.WriteLine("[Where x.Substring(0, 4) == \"Core\"]");
 q = from x in array where x.Substring(0, 4) == "Core" select x;
 foreach (var x in q)
 {
    Console.WriteLine(x);
 }
#if DEBUG
 Console.ReadKey();
 #endif
 }
 }
 }

XMLドキュメント

<?xml version=”1.0″?>
<doc>
<assembly>
<name>LinqToArray</name>
</assembly>
<members>
<member name=”T:LinqToArray.Program”>
<summary>
Program class
</summary>
</member>
<member name=”M:LinqToArray.Program.Main(System.String[])”>
<summary>
メインプログラム
</summary>
<param name=”args”>コマンドライン引数</param>
</member>
</members>
</doc>

 
コメントする

投稿者: : 2013/11/20 投稿先 未分類

 

タグ:

nbasicをVectorにアップした。

本日、久々のフリーソフトをVectorにアップしました。

名前はnbasicといいます。Visual Basic風のプログラミング言語です。
下の文はそのREADMEです。

nbasic 0.3.7.4 ReadMe.txt

nbasicはVisual Basic Script (VBS) 風のプログラミング言語です。 そして、.NET Framework 4.5以上で動作します。 まだ、開発途上なので実用性はあまりないと思いますが、もし遊んでくれる方がいたら幸いです。 コマンドプロンプト内で、

nbasic ソースファイル

として実行します。まず、サンプルのHello.basが実行できるか試してみてください。

nbasic Hello.bas

* この書庫の内容物

nbasic.exe  — nbasic本体 使い方はドキュメント内のindex.htmlを参照してください。

ドキュメント .\doc

サンプル .\basic_samples .\cmd_samples .\func_samples .\module_samples

フォーム .\forms

 
コメントする

投稿者: : 2013/06/23 投稿先 未分類