るりまサーチ

最速Rubyリファレンスマニュアル検索!
14697件ヒット [14601-14697件を表示] (0.081秒)

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io readlines
  5. io each_line

ライブラリ

クラス

キーワード

検索結果

<< < ... 145 146 147 >>

Kernel.#printf(format, *arg) -> nil (30.0)

C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。

...した場合は標準出力 $stdout に出力します。

引数を 1 つも指定しなければ何もしません。

Ruby における format 文字列の拡張については
Kernel.#sprintfの項を参照してください。

@param port 出力先になるIO のサブクラスのインスタ...
...@raise IOError port が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。

//emlist[例][ruby]{
printf("calculate%3s%-6s%.15f", 'PI', '...', Math::PI)
#=> calculate PI... 3.141592653589793

printf("%d %04x",...
...011 ' 123'"
printf("%1$*2$s %2$d %1$s", "hello", 8) #=> " hello 8 hello"
printf("%1$*2$s %2$d", "hello", -8) #=> "hello -8"
printf("%+g:% g:%-g", 1.23, 1.23, 1.23) #=> "+1.23: 1.23:1.23"
printf("%u", -123) #=> "..4294967173"
//}

@see Kernel.#sprintf,IO#printf...

Kernel.#printf(port, format, *arg) -> nil (30.0)

C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。

...した場合は標準出力 $stdout に出力します。

引数を 1 つも指定しなければ何もしません。

Ruby における format 文字列の拡張については
Kernel.#sprintfの項を参照してください。

@param port 出力先になるIO のサブクラスのインスタ...
...@raise IOError port が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。

//emlist[例][ruby]{
printf("calculate%3s%-6s%.15f", 'PI', '...', Math::PI)
#=> calculate PI... 3.141592653589793

printf("%d %04x",...
...011 ' 123'"
printf("%1$*2$s %2$d %1$s", "hello", 8) #=> " hello 8 hello"
printf("%1$*2$s %2$d", "hello", -8) #=> "hello -8"
printf("%+g:% g:%-g", 1.23, 1.23, 1.23) #=> "+1.23: 1.23:1.23"
printf("%u", -123) #=> "..4294967173"
//}

@see Kernel.#sprintf,IO#printf...

NKF (24.0)

nkf(Network Kanji code conversion Filter, https://osdn.net/projects/nkf/) を Ruby から使うためのモジュールです。

...nkf(Network Kanji code conversion Filter, https://osdn.net/projects/nkf/) を
Ruby から使うためのモジュールです。

=== 使い方

以下は、漢字コード変換コマンドの例です。

//emlist[例][ruby]{
#!/usr/local/bin/ruby

require 'nkf'

opt = ''
opt = ARGV.shift if ARGV[...
...0][0] == ?-

while line = ARGF.gets
print NKF.nkf(opt, line)
end
//}

以下は、漢字コード判別コマンドの例です。

//emlist[例][ruby]{
#!/usr/local/bin/ruby

require 'nkf'

CODES = {
NKF::JIS => "JIS",
NKF::EUC => "EUC",
NKF::SJIS => "SJIS",
NKF::UTF8 =>...
...SCII",
NKF::UNKNOWN => "UNKNOWN",
}

while file = ARGV.shift
str = open(file) {|io| io.gets(nil) }

printf "%-10s ", file
if str.nil?
puts "EMPTY"
else
puts CODES.fetch(NKF.guess(str))
end
end
//}

=== オプション文字列

-b 入力がバッファリングされる(デ...

NEWS for Ruby 2.6.0 (18.0)

NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ク引数にも反映されるようになりました。 14223

* Refinements が Object#public_send にも反映されるようになりました。 15326

* Refinements が Object#respond_to? にも反映されるようになりました。 15327

* rescue 節なしの else 節がシン...
...ch {|index| block } # index が 1 から始まる無限ループ
ary.zip(1..) {|elem, index| block } # ary.each.with_index(1) { }
//}
* キーワード引数のハッシュに Symbol 以外のキーが含まれると例外が発生するようになりました。

* "shadowing...
...なしに書くことができます:
//emlist{
user = users.find {|user| cond(user) }
//}
* 例外が捕捉されず、バックトレースとエラーメッセージが表示されるときに、
例外の Exception#cause も表示されるようになりました。 8257

* フリ...

ReFe (18.0)

ReFe ReFeについては http://i.loveruby.net/ja/prog/refe.html をご覧ください。

...順で行います。(詳細は ReFe の README を参照してください)

(1) http://i.loveruby.net/ja/prog/refe.html から ReFe の基本セット
を取って来てインストールします。

tar xvzf refe-x.x.x.tar.gz
cd refe-x.x.x
ruby setup.rb config...
...)
ruby setup.rb install

(2) http://www.ruby-lang.org/ja/man/man-rd-ja.tar.gz
にあるのが最新のリファレンスマニュアルの tarball です。
これを取得します。

(3) 取得した man-rd-ja.tar.gz を展開し、ReFeデータベースを構築します。
/...
...refm -d /usr/local/share/refe *.rd

/usr/local/share/refe 下に以下のディレクトリとファイルができます。

class_document/ method_document/
class_document_comp method_document_comp

(4) 後は使うだけです。

refe IO puts
IO
#puts...

絞り込み条件を変える

Enumerable#chunk {|elt| ... } -> Enumerator (12.0)

要素を前から順にブロックで評価し、その結果によって 要素をチャンクに分けた(グループ化した)要素を持つ Enumerator を返します。

...アを各要素とします。
そのため、eachだと以下のようになります。

//emlist[][ruby]{
enum.chunk {|elt| key }.each {|key, ary| do_something }
//}

例として、整数列を連続する奇数/偶数に分ける例を見てみます。
「n.even?」の値が切り替わると...
...のファイルに合わせてください。
open("/usr/share/dict/words", "r:iso-8859-1") {|f|
f.chunk {|line| line[0].upcase }.each {|ch, lines| p [ch, lines.length] }
}
# => ["A", 17096]
# ["B", 11070]
# ["C", 19901]
# ["D", 10896]
# ...
//}

さらにこのメソッドは以下の...
...フンが72個の行
IO
.popen("svn log README") {|f|
f.chunk {|line|
line != sep || nil
}.each {|_, lines|
pp lines
}
}
#=> ["r20018 | knu | 2008-10-29 13:20:42 +0900 (Wed, 29 Oct 2008) | 2 lines\n",
# "\n",
# "* README, README.ja: Update the portability section.\n",
# "\n"]
#...

Kernel$$> -> object (12.0)

標準出力です。

...フォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のファイルを表します。

$stdout に代入するオブジェクトには
write という名前...
...クトしたいときには、
以下のように $stdout に代入すれば十分です。

//emlist[例][ruby]{
# 標準出力の出力先を /tmp/foo に変更
$stdout = File.open("/tmp/foo", "w")
puts "foo" # 出力する
$stdout = STDOUT # 元に戻す
//}

自プロセスだけでな...
... IO#reopen を使います。

//emlist[例][ruby]{
STDOUT.reopen("/tmp/foo", "w")
//}

また、リダイレクトしたあと
出力先をまた元に戻したい場合は以下のようにします。

//emlist[例][ruby]{
stdout_old = $stdout.dup # 元の $stdout を保存する
$stdou...

Zlib::GzipWriter#printf(format, *args) -> nil (12.0)

C 言語の printf と同じように、format に従い引数 を文字列に変換して、自身に出力します。

...

require 'zlib'

filename='hoge1.gz'
fw = File.open(filename, "w")
Zlib::GzipWriter.wrap(fw, Zlib::BEST_COMPRESSION){|gz|
gz.printf("\n%9s", "bar")
}
fr = File.open(filename)
Zlib::GzipReader.wrap(fr){|gz|
puts gz.read
}
#=> bar

@see IO#printf, Kernel.#printf...

yaml (12.0)

構造化されたデータを表現するフォーマットであるYAML (YAML Ain't Markup Language) を扱うためのライブラリです。

...by]{
require 'yaml'

d
ata = ["Taro san", "Jiro san", "Saburo san"]
str_r = YAML.dump(data)

str_l = <<~YAML_EOT
---
- Taro san
- Jiro san
- Saburo san
YAML_EOT

p str_r == str_l # => true
//}

//emlist[例2: 構造化されたハッシュ][ruby]{
require 'yaml'
require 'date'

str_l = <<~YA...
...35, birthday: 1970-01-01}
Suzuki Suneo: {
age: 13,
birthday: 1992-12-21
}
YAML_EOT

str_r = {}
str_r["Tanaka Taro"] = {
"age" => 35,
"birthday" => Date.new(1970, 1, 1)
}
str_r["Suzuki Suneo"] = {
"age" => 13,
"birthday" => Date.new(1992, 12, 21)
}

p str_r == YAML.load(str_l) #...
...re 'yaml'
require 'stringio'

strio_r = StringIO.new(<<~YAML_EOT)
---
time: 2008-02-25 17:03:12 +09:00
target: YAML
version: 4
log: |
例を加えた。
アブストラクトを修正した。
---
time: 2008-02-24 17:00:35 +09:00
target: YAML
version: 3
log: |
アブ...
<< < ... 145 146 147 >>