クラス
- CSV (11)
- File (22)
-
Net
:: FTP (18) -
Net
:: HTTPGenericRequest (22) -
Zlib
:: GzipWriter (22)
モジュール
- Kernel (11)
-
Rake
:: TaskManager (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - ConditionVariable (11)
-
NEWS for Ruby 3
. 0 . 0 (4) - Ruby用語集 (11)
- bigdecimal (11)
-
body
_ stream (11) -
body
_ stream= (11) -
cgi
/ session (11) - fiddle (11)
- mlsd (18)
-
net
/ pop (11) - new (11)
- require (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11) -
synthesize
_ file _ task (11) - truncate (11)
- wrap (22)
- 制御構造 (11)
検索結果
先頭5件
-
File
# size -> Integer (33225.0) -
ファイルのサイズを返します。
...ファイルのサイズを返します。
//emlist[例][ruby]{
File.open("/dev/null") do |f|
f.size #=> 0
end
//}
@raise IOError 自身が close されている場合に発生します。
@raise Errno::EXXX 失敗した場合に発生します。
@see File#lstat... -
Rake
:: TaskManager # synthesize _ file _ task(task _ name) -> Rake :: FileTask | nil (18443.0) -
与えられたタスク名をもとにファイルタスクを合成します。
...nil を返します。
@raise RuntimeError タスクを合成できなかった場合に発生します。
//emlist[][ruby]{
# Rakefile での記載例とする
task default: :test_rake_app
task :test_rake_app do |task|
task.application.synthesize_file_task("sample_file") # => nil
IO.write(......"sample_file", "")
task.application.synthesize_file_task("sample_file") # => <Rake::FileTask sample_file => []>
end
//}... -
File
# truncate(length) -> 0 (12018.0) -
ファイルのサイズを最大 length バイトにします。
...raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX サイズの変更に失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "1234567890")
File.open("testfile", "a") do |f|
f.truncate(5) # => 0
f.size......# => 5
end
//}... -
bigdecimal (6138.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
...bigdecimal は浮動小数点数演算ライブラリです。
任意の精度で 10 進表現された浮動小数点数を扱えます。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456......BigDecimal では正確な値を得る事ができます。
//emlist[例1: 0.0001 を 10000 回足す場合。][ruby]{
sum = 0
for i in (1..10000)
sum = sum + 0.0001
end
print sum # => 0.9999999999999062
//}
//emlist[例2: 0.0001 を 10000 回足す場合。(BigDecimal)][ruby]{
require 'bigdecim......ル file の合計数値を求める例です。
//emlist[digits.txt][ruby]{
0.1
0.1
0.1
//}
//emlist[][ruby]{
require "bigdecimal"
File::open("digits.txt", "r") do |file|
s = BigDecimal("0")
while line = file.gets
s = s + BigDecimal(line)
end
puts s # => 0.3e0
end
File::open("digits... -
Kernel
. # require(feature) -> bool (6124.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
...字列です。
@raise LoadError ロードに失敗した場合に発生します。
//emlist[例][ruby]{
$LOADED_FEATURES.grep(/prime/).size # => 0
require "prime" # => true
$LOADED_FEATURES.grep(/prime/).size # => 1
require "prime" # => false
begin
require "invalid"
rescue LoadError......=> e
e.message # => "cannot load such file -- invalid"
end
//}
@see Kernel.#load,Kernel.#autoload,Kernel.#require_relative... -
cgi
/ session (6084.0) -
CGI のセッション管理を行うライブラリ。
...CGI のセッション管理を行うライブラリ。
セッションとは、HTTP の一連のリクエストとレスポンスが属するべき
コンテクスト (状況) のことをいいます。
セッション管理には従来通り cgi ライブラリが提供する
クッキーを使......はセッション ID とプログラムが記録した
セッション情報から構成されます。
デフォルトでは CGI::Session::FileStore が使用され、
記録できるのは文字列のみです。
セッション情報は CGI::Session::FileStore か
CGI::Session::PStore を使用......}
CGI.pretty(html)
}
#=>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<BODY>
<FORM METHOD="post" ENCTYPE="application/x-www-form-urlencoded" action="/sample.rb">
<P>
あなたの名前は?
<INPUT NAME="name" SIZE="40" TYPE="t... -
Thread
:: ConditionVariable (6072.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとしま......= Mutex.new
cv = ConditionVariable.new
a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}
b = Thread.start {
mutex.synchronize {
# 上の条......Condition Variable を使って wait しています。
require 'thread'
class TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new
@mutex = Mutex.new
@q = []
end
def count
@q.size
end... -
fiddle (6060.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
dl と基本的な使いかたは良く似ています。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュー......ルは以下のようにユーザが定義した
モジュールを拡張する形で使います。
require "fiddle/import"
module M
extend Fiddle::Importer
end
以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下の......'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
QsortCallback = bind("void *qsort_callback2(void*,void*)"){|ptr1,ptr2|
ptr1[0] <=> ptr2[0]
}
type
extern 'void qsort(void *, int, int, void *)'
end
buff = "3465721"
M.qsort(buff, buff.size,......りに使います。
=== 使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユ......ーザが定義した
モジュールを拡張する形で使います。
require "fiddle/import"
module M
extend Fiddle::Importer
end
以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下のように dlload を使っ... -
Zlib
:: GzipWriter . wrap(io , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) -> Zlib :: GzipWriter (3236.0) -
io と関連付けられた GzipWriter オブジェクトを作成します。 ブロックが与えられた場合、 それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。
...
io と関連付けられた GzipWriter オブジェクトを作成します。
ブロックが与えられた場合、
それを引数としてブロックを実行します。
ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に
クローズされます。関連......けられている IO オブジェクトまで
クローズしたくない時は、ブロック中で Zlib::GzipFile#finish
メソッドを呼び出して下さい。
@param io IOオブジェクト、もしくは少なくとも、
IO#write と 同じ動作をする write メソッドが......はzlib.h を参照してください。
require 'zlib'
def case1
filename='hoge1.txt'
f = File.open(filename, "w")
Zlib::GzipWriter.wrap(f, Zlib::NO_COMPRESSION){|gz|
gz.puts "hogehoge" * 100
}
p f.closed? #=> true
p FileTest.size(filename) #=> 824
end
d... -
Zlib
:: GzipWriter . wrap(io , level = Zlib :: DEFAULT _ COMPRESSION , strategy = Zlib :: DEFAULT _ STRATEGY) {|gz| . . . } -> object (3236.0) -
io と関連付けられた GzipWriter オブジェクトを作成します。 ブロックが与えられた場合、 それを引数としてブロックを実行します。 ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に クローズされます。関連付けられている IO オブジェクトまで クローズしたくない時は、ブロック中で Zlib::GzipFile#finish メソッドを呼び出して下さい。
...
io と関連付けられた GzipWriter オブジェクトを作成します。
ブロックが与えられた場合、
それを引数としてブロックを実行します。
ブロックの実行が終了すると、GzipWriter オブジェクトは自動的に
クローズされます。関連......けられている IO オブジェクトまで
クローズしたくない時は、ブロック中で Zlib::GzipFile#finish
メソッドを呼び出して下さい。
@param io IOオブジェクト、もしくは少なくとも、
IO#write と 同じ動作をする write メソッドが......はzlib.h を参照してください。
require 'zlib'
def case1
filename='hoge1.txt'
f = File.open(filename, "w")
Zlib::GzipWriter.wrap(f, Zlib::NO_COMPRESSION){|gz|
gz.puts "hogehoge" * 100
}
p f.closed? #=> true
p FileTest.size(filename) #=> 824
end
d...