Rubyの魔神 このページをアンテナに追加 RSSフィード

   「Ruby」は宝石の魔神のイメージ(The Jinn of the Ruby)
   [VB] [VB6] [Android] [電子工作] [個人メモ] [仕事メモ] [アイデア] [TstLink] [開発] [CE] [LTSA] [自動化] [Qt] [OCaml] [TOOLS]
   [3Dプリンタ] [RAA] [Forge]   [機能別索引] [逆引きRuby] [マニュアル] [るびま] [標準ライブラリ] [るりまサーチ] [Try! Ruby] [PRaggerまとめ] [ピジョン・ブラッド]
   [Rubyコーディング規約] [プログラミングのオキテ] [Rubyist SNS] [TOOLBIS]
   [RubyネットワークProg] [druby] [コードなにがし] [RDocテンプレ] [Ruby/Tkサンプル]
   [WAVE] [Xperia] [github] [twitterなど] [Java] [EA] [マクロ]

2016-03-06 このエントリーを含むブックマーク このエントリーのブックマークコメント

http://postd.cc/kill-your-dependencies/

何かのモンスターかと思いました

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20160306

2014-11-29 このエントリーを含むブックマーク このエントリーのブックマークコメント

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20141129

2014-10-21

特定のファイル以外のファイルを全て削除する

特定のファイル以外のファイルを全て削除する - Rubyの魔神 を含むブックマーク はてなブックマーク - 特定のファイル以外のファイルを全て削除する - Rubyの魔神 特定のファイル以外のファイルを全て削除する - Rubyの魔神 のブックマークコメント

delかxcopyで出来そうな気がしたけどできなかったので作ってみた。

スクリプトが置かれているフォルダから、

para.dat以外のファイルを再帰的に全て削除する。

# coding: windows-31j

require 'FileUtils'

Dir::glob("**/*").each{|f|
	if File::basename(f) != "para.dat" and  File::basename(f) != File.basename(__FILE__) then
		if File::ftype(f) != "directory" then
			puts f
			FileUtils.rm(f)
		end
	end
}
トラックバック - http://ruby.g.hatena.ne.jp/garyo/20141021

2014-09-24

無名関数の利点

無名関数の利点 - Rubyの魔神 を含むブックマーク はてなブックマーク - 無名関数の利点 - Rubyの魔神 無名関数の利点 - Rubyの魔神 のブックマークコメント

Rubyの無名関数の利点というか使いどころが良くわからない。

p ->x,y{x+y}[3,4]

p (1..10).map{|x|->(t){t * 2}[x]}

こんな風に使い捨ての関数を使いたい時に使えば良いのだろうか?

http://blog.livedoor.jp/sasata299/archives/51541958.html

こちらの記事で、

ブロックを Proc オブジェクトにするのは実は簡単で、メソッド定義の仮引数の最後に & 付きパラメーターを追加することで、Ruby がこのパラメーター (&hoge) をブロックとして扱い、hoge は Proc オブジェクトへの参照を持ちます。この辺は Ruby の黒魔術?ですね。

と書いてあったので試して見ると確かに動きました。

p (1..10).map(&->(t){t * 2}) #[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

動き的には

p (1..10).map{|x|x*2}

と同じですが、|x|の仮引数を作らなくてもいいのが楽しいかも。

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20140924

2014-08-25

RubyでMsgBox,InputBox,OpenFileDialogを使う

RubyでMsgBox,InputBox,OpenFileDialogを使う - Rubyの魔神 を含むブックマーク はてなブックマーク - RubyでMsgBox,InputBox,OpenFileDialogを使う - Rubyの魔神 RubyでMsgBox,InputBox,OpenFileDialogを使う - Rubyの魔神 のブックマークコメント

以下のサイトを参考にしました。OSはWindows7 Ruby2.1です。

http://www3.ocn.ne.jp/~igus/starthp/ruby_memo.html

http://snjx.info/diary/snjx/052

VB風に作ってみました。

#! ruby -EWindows-31J
# -*- mode:ruby; coding:Windows-31J -*-

require 'win32ole'

class RubyGUI
	def initialize
		@wsh = WIN32OLE.new('WScript.Shell')
		@sc=WIN32OLE.new("ScriptControl")
		@sc.language="VBScript"
	end

	def msgBox(message,msgBoxStyle="OKOnly",title="")
		style=@sc.eval(msgBoxStyle)
		@wsh.Popup(message,0, title,style)
	end

	def inputBox(message,title="")
		return @sc.eval('InputBox("' + "#{message}"+'"&vbcrlf&"","' + "#{title}"+ '")')
	end

	def type(s)
		return @sc.eval(s)
	end
end

class OpenFileDialog
	attr_accessor :maxFileSize,:filter,:initDir,:fileName
	def initialize
		@obj=WIN32OLE.new("MSComDlg.CommonDialog")
		@initDir="C:\\"
		@maxFileSize =255
		@filter = "all (*.*)|*.*|"
	end
	def showDialog
		@obj.MaxFileSize =@maxFileSize    
		@obj.Filter = @filter
		@obj.InitDir =@initDir
		@obj.ShowOpen
		@fileName=@obj.FileName
	end
end


msg=RubyGUI.new
ofg=OpenFileDialog.new

ret = msg.msgBox("終了しますか?","VbYesNo","終了確認")
if ret == msg.type("VbYes") then
	msg.msgBox("終了しました")
	exit
end

msg.msgBox("ファイルを選択してください")
filename = ofg.showDialog
msg.msgBox("選択したファイルは" + filename + "です")


文字コード指定

文字コード指定 - Rubyの魔神 を含むブックマーク はてなブックマーク - 文字コード指定 - Rubyの魔神 文字コード指定 - Rubyの魔神 のブックマークコメント

こちらのサイトより

http://www.trail4you.com/TechNote/Ruby/basic.html

WindowsS-JISの場合

#! ruby -EWindows-31J

# -*- mode:ruby; coding:Windows-31J -*-

UTF-8の場合

#! ruby -EUTF-8

# -*- mode:ruby; coding:utf-8 -*-

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20140825