[Ruby] String.bytesで得たバイト列の配列を文字列に戻す

文字列の各バイトを数値の配列に変換するには,bytesというインスタンスメソッドを使えばよい.
では,bytesの逆関数に当たるメソッドは何だろう.


これが結構分かりにくくて,packメソッドを使うのが正解らしい.

arr.pack('c*') は,『配列のすべての要素を8bit整数とみなし,文字列にpackせよ』という意味…だと思う.

次のプログラムは,文字列をbyte配列に変換し,その後文字列に戻している.


str = "Hoge"
p str
bytes = str.bytes
p bytes
packed = bytes.pack('c*')
p packed
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

tag : Ruby

Ruby gem の gnuplot で線の色を指定したい / 軸範囲を指定したい

出来ないことだってある.


RubyGemsにはたくさんの拡張ライブラリがあり,その中の1つにgnuplotをrubyから扱えるようにしたRuby Gnuplotがあります.


この記事の目標.

  • データの線の色を指定したい
  • 軸範囲を指定したい

この2つがわかりにくかったので,記事のネタにします.

続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

tag : Ruby

Bash on windows上のRubyでFileUtils::mkdir_pがうまくいかなかった

うまくいかなかったメモです.僕の環境だけかもしれないですけど.


こんな感じのコード
require 'fileutils'
FileUtils::mkdir_p 'mnt/c/Temp/new/'
で,Cドライブには,『temp』(全部小文字)という名前のフォルダがある.『temp/new』は無い.

これを実行すると,
File exists @ dir_s_mkdir - /mnt/c/Temp
というエラーが出る.

どうやらbash側とwindows側で『大文字小文字を区別するか』が統一されてないっぽい.


あんまりこの部分で作業を止めたくないので詳しくは調べませんでしたが,気を付けた方がよさそう.

テーマ : プログラミング
ジャンル : コンピュータ

tag : Ruby

外部プログラム実行のタイムアウト処理(Ruby)

数か月放置し続けた問題


次のような動作をするプログラムを考えます。
  1. 時間のかかりそうな外部プログラムを実行する。
  2. 外部プログラムが終了したら、外部プログラムの標準出力を拾って、それを表示する。
  3. 2秒以内に終わらなかったら、外部プログラムをKILLする。

簡単そうですね?

実行環境はwindowsです。


続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

tag : Ruby

C++でrubyのinjectっぽい文を書く

そもそもRubyのArray.injectって何ぞ?

https://www.google.co.jp/search?q=ruby%20inject


arrayの総和と最大値を求めるプログラムをinjectを使って書くと、次のようになる。
(もっとすっきりとした書き方はある)
arr = [1,2,3]
sum = arr.inject(0){|s,e| s=s+e ; s}
max = arr.inject{|s,e| s = e if s < e ; s}

これをC++で使いたい。

続きを読む

テーマ : プログラミング
ジャンル : コンピュータ

tag : c++ Ruby

プロフィール

舞葉(ぶよう)

Author:舞葉(ぶよう)
github.io
はてなブログ(競プロ)

古い記事のソースコードは色分けしていないので、高機能テキストエディタに貼り付けたほうが見やすいかも。

検索フォーム
このブログについて
自分がつまづいた話題、なんとなく書きたいと思ったこと、ググったけど殆ど資料なかったぞオイ な話等をアップする予定。通りすがりでも、参考になっていただければと。プログラムの例外入力、メモリリークは責任負いません。投稿された記事は修正・削除する場合があります。
カテゴリ
タグ

HSP3アルゴリズムとデータ構造c++RubyJavaUnity画像解析C機械学習C#LinuxcodeIQKinectMinecraftTonyuSystemraspberrypiPythonHTML5音声制御Simulinkruby俺ルール通信制御Javascriptシミュレーション

counter-shinobi
固定記事
最新記事
最新コメント
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

アクセスランキング
[ジャンルランキング]
コンピュータ
1276位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
225位
アクセスランキングを見る>>