ライブラリ
- ビルトイン (18)
- bigdecimal (1)
-
fiddle
/ import (1) - openssl (3)
- ostruct (2)
- pathname (12)
- rake (2)
-
rexml
/ document (6) - set (2)
- uri (3)
-
webrick
/ httpresponse (1) -
webrick
/ log (1)
クラス
- BigDecimal (1)
- Bignum (2)
-
Enumerator
:: Lazy (2) - Fixnum (2)
- Module (3)
-
OpenSSL
:: X509 :: Request (2) - OpenStruct (2)
- Pathname (12)
-
REXML
:: CData (1) -
REXML
:: Child (1) -
REXML
:: Element (2) -
REXML
:: Entity (1) -
REXML
:: Text (1) -
Rake
:: TaskArguments (2) - String (1)
- Symbol (4)
- Thread (2)
-
URI
:: Generic (3) - UnboundMethod (2)
-
WEBrick
:: BasicLog (1) -
WEBrick
:: HTTPResponse (1)
モジュール
- Enumerable (2)
-
Fiddle
:: Importer (1) -
OpenSSL
:: Buffering (1)
キーワード
- % (1)
- [] (1)
-
add
_ namespace (2) -
add
_ trace _ func (1) - basename (1)
- bind (1)
- chown (1)
- chunked= (1)
- debug (1)
-
each
_ line (1) - executable? (1)
-
executable
_ real? (1) - find (2)
- grep (1)
-
grep
_ v (1) - hostname= (1)
- inspect (6)
- lchown (1)
- merge! (1)
- modulo (1)
- name (1)
-
previous
_ sibling= (1) - print (1)
-
set
_ trace _ func (1) - setuid? (1)
- slice (1)
- succ (1)
-
to
_ pem (1) -
to
_ set (2) - truncate (1)
- upcase (1)
- userinfo= (1)
- utime (1)
- value (2)
- write (1)
検索結果
先頭5件
-
UnboundMethod
# to _ s -> String (63325.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
詳しくは Method#inspect を参照してください。
//emlist[例][ruby]{
String.instance_method(:count).inspect # => "#<UnboundMethod: String#count>"
//}
@see Method#inspect -
Fixnum
# to _ s(base = 10) -> String (54433.0) -
self を引数で指定した基数の文字列表現に変換します。
self を引数で指定した基数の文字列表現に変換します。
@param base 基数を 2 から 36 の整数で指定します。
12345.to_s #=> "12345"
12345.to_s(2) #=> "11000000111001"
12345.to_s(8) #=> "30071"
12345.to_s(10) #=> "12345"
12345.to_s(16) #=> "3039"
12345.to_s(36) #=> "9ix" -
Bignum
# to _ s(base = 10) -> String (54415.0) -
self を引数で指定した基数の文字列表現に変換します。
self を引数で指定した基数の文字列表現に変換します。
@param base 基数を 2 から 36 の整数で指定します。
12345654321.to_s #=> "12345654321"
12345654321.to_s(2) #=> "1011011111110110111011110000110001"
12345654321.to_s(8) #=> "133766736061"
12345654321.to_s(16) #=> "2dfdbbc31"
78546939656932.to_s(36) ... -
Module
# to _ s -> String (54361.0) -
モジュールやクラスの名前を文字列で返します。
モジュールやクラスの名前を文字列で返します。
このメソッドが返す「モジュール / クラスの名前」とは、
より正確には「クラスパス」を指します。
クラスパスとは、ネストしているモジュールすべてを
「::」を使って表示した名前のことです。
クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。
@return 名前のないモジュール / クラスに対しては、name は nil を、それ以外はオブジェクト ID の文字列を返します。
//emlist[例][ruby]{
module A
module B
end
p B.name #=> "A... -
OpenSSL
:: X509 :: Request # to _ s -> String (54325.0) -
PEM 形式の文字列に変換して返します。
PEM 形式の文字列に変換して返します。
@raise OpenSSL::X509::RequestError 変換に失敗した場合に発生します -
OpenStruct
# to _ s -> String (54325.0) -
オブジェクトを人間が読める形式に変換した文字列を返します。
オブジェクトを人間が読める形式に変換した文字列を返します。
@see Object#inspect -
Rake
:: TaskArguments # to _ s -> String (54325.0) -
自身を人間に読みやすい文字列にして返します。
自身を人間に読みやすい文字列にして返します。
@see Hash#inspect -
Enumerable
# to _ set(klass = Set , *args) -> Set (27394.0) -
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、SortedSet あるいはその他のユーザ定義の
集合クラスのインスタンスを作ることができます
(ここでいう集合クラスとは、Setとメソッド/クラスメソッドで互換性のあるクラスです)。
引数 args およびブロックは、集合オブジェクトを生成するための new
メソッドに渡されます。
@param klass 生成する集合クラスを指定します。
@param args 集合クラ... -
Enumerable
# to _ set(klass = Set , *args) {|o| . . . } -> Set (27394.0) -
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
Enumerable オブジェクトの要素から、新しい集合オブジェクトを作ります。
引数 klass を与えた場合、Set クラスの代わりに、指定した集合クラスの
インスタンスを作ります。
この引数を指定することで、SortedSet あるいはその他のユーザ定義の
集合クラスのインスタンスを作ることができます
(ここでいう集合クラスとは、Setとメソッド/クラスメソッドで互換性のあるクラスです)。
引数 args およびブロックは、集合オブジェクトを生成するための new
メソッドに渡されます。
@param klass 生成する集合クラスを指定します。
@param args 集合クラ... -
URI
:: Generic # userinfo=(s) (18592.0) -
自身の userinfo を設定します。
自身の userinfo を設定します。
@param s 自身の userinfo を "username" か "username:password" という形式の文字列、あるいは
[username, password] という形式の文字列の配列で指定します。
@raise URI::InvalidComponentError 不正な引数 s に対して発生します。
@raise URI::InvalidURIError userinfo と registry を同時に設定した場合に発生します。
例:
require 'uri'
u = URI.pars... -
Thread
# set _ trace _ func(pr) -> Proc | nil (18412.0) -
スレッドにトレース用ハンドラを設定します。
スレッドにトレース用ハンドラを設定します。
nil を渡すとトレースを解除します。
設定したハンドラを返します。
//emlist[例][ruby]{
th = Thread.new do
class Trace
end
2.to_s
Thread.current.set_trace_func nil
3.to_s
end
th.set_trace_func lambda {|*arg| p arg }
th.join
# => ["line", "example.rb", 2, nil, #<Binding:0x00007fc8de87cb08>, nil]
#... -
Pathname
# utime(atime , mtime) -> Integer (18406.0) -
File.utime(atime, mtime, self.to_s) と同じです。
File.utime(atime, mtime, self.to_s) と同じです。
@param atime 最終アクセス時刻を Time か、起算時からの経過秒数を数値で指定します。
@param mtime 更新時刻を Time か、起算時からの経過秒数を数値で指定します。
@see File.utime -
Thread
# add _ trace _ func(pr) -> Proc (18394.0) -
スレッドにトレース用ハンドラを追加します。
スレッドにトレース用ハンドラを追加します。
追加したハンドラを返します。
@param pr トレースハンドラ(Proc オブジェクト)
//emlist[例][ruby]{
th = Thread.new do
class Trace
end
43.to_s
end
th.add_trace_func lambda {|*arg| p arg }
th.join
# => ["line", "example.rb", 4, nil, #<Binding:0x00007f98e107d0d8>, nil]
# => ["c-call", "example.rb", 4, ... -
Pathname
# truncate(length) -> 0 (18388.0) -
File.truncate(self.to_s, length) と同じです。
File.truncate(self.to_s, length) と同じです。
@param length 変更したいサイズを整数で与えます。
@see File.truncate -
Pathname
# executable? -> bool (18370.0) -
FileTest.executable?(self.to_s) と同じです。
FileTest.executable?(self.to_s) と同じです。
@see FileTest.#executable? -
Pathname
# executable _ real? -> bool (18370.0) -
FileTest.executable_real?(self.to_s) と同じです。
FileTest.executable_real?(self.to_s) と同じです。
@see FileTest.#executable_real? -
Pathname
# setuid? -> bool (18370.0) -
FileTest.setuid?(self.to_s) と同じです。
FileTest.setuid?(self.to_s) と同じです。
@see FileTest.#setuid? -
REXML
:: Text # value -> String (18358.0) -
テキストの内容を非正規化(すべての実体をアンエスケープ)された状態で返します。
テキストの内容を非正規化(すべての実体をアンエスケープ)された状態で返します。
このメソッドの返り値では raw モードや entity_filter は無視されます。
@see REXML::Text#raw, REXML::Text#to_s
//emlist[][ruby]{
require 'rexml/document'
t = REXML::Text.new("< & foobar", false, nil, false)
t.to_s # => "< & foobar"
t.value # => "< & foobar"
//} -
REXML
:: CData # value -> String (18343.0) -
テキスト文字列を返します。
テキスト文字列を返します。
@see REXML::Text#value, REXML::Text#to_s
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root><![CDATA[foobar baz]]></root>
EOS
doc.root[0].class # => REXML::CData
doc.root[0].value # => "foobar baz"
//} -
REXML
:: Child # previous _ sibling=(other) (18340.0) -
other を self の前の隣接ノードとします。
other を self の前の隣接ノードとします。
つまり、親ノードが持つ子ノード列の self の前に
other を挿入します。
@param other 挿入するノード
//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new("a")
b = a.add_element("b")
c = REXML::Element.new("c")
b.next_sibling = c
d = REXML::Element.new("d")
b.previous_sibling = d
p a.to_s # =>... -
Symbol
# upcase -> Symbol (18340.0) -
小文字を大文字に変換したシンボルを返します。
小文字を大文字に変換したシンボルを返します。
(self.to_s.upcase.intern と同じです。)
:foo.upcase #=> :FOO
@see String#upcase -
WEBrick
:: BasicLog # debug(msg) -> () (18340.0) -
ログレベル DEBUG で文字列 msg をログに記録します。 自身の level が DEBUG より重要度が高い場合には記録しません。
ログレベル DEBUG で文字列 msg をログに記録します。
自身の level が DEBUG より重要度が高い場合には記録しません。
行頭に level を表す文字列が追加されます。
msg の終端が "\n" でない場合には "\n" を追加します。
@param msg 記録したい文字列を指定します。文字列でない場合は to_s メソッドで文字列に変換します。 -
WEBrick
:: HTTPResponse # chunked=(flag) (18340.0) -
真に設定するとクライアントに返す内容(エンティティボディ)を chunk に分けるようになります。
真に設定するとクライアントに返す内容(エンティティボディ)を chunk に分けるようになります。
自身の WEBrick::HTTPResponse#request_http_version が 1.0 以下である場合、この値は無視されます。
@param flag true を指定した場合、レスポンスを chunk に分けてクライアントに返します。
require 'webrick'
include WEBrick
res = HTTPResponse.new( { :HTTPVersion => "1.1" } )
res.body = 'hoge'
res.... -
UnboundMethod
# inspect -> String (18025.0) -
self を読みやすい文字列として返します。
self を読みやすい文字列として返します。
詳しくは Method#inspect を参照してください。
//emlist[例][ruby]{
String.instance_method(:count).inspect # => "#<UnboundMethod: String#count>"
//}
@see Method#inspect -
Enumerator
:: Lazy # grep(pattern) {|item| . . . } -> Enumerator :: Lazy (9358.0) -
Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#grep と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep(/\A(\d)\1+\z/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep(/\A(\d)\1+\z/).... -
Enumerator
:: Lazy # grep _ v(pattern) {|item| . . . } -> Enumerator :: Lazy (9358.0) -
Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。
Enumerable#grep_v と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/)
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: 100..Infinity>:map>:grep_v(/(\d).*\1/)>
(100..Float::INFINITY).lazy.map(&:to_s).grep_v(/(\d).*\1/).t... -
BigDecimal
# modulo(n) -> BigDecimal (9340.0) -
self を n で割った余りを返します。
self を n で割った余りを返します。
@param n self を割る数を指定します。
//emlist[][ruby]{
require 'bigdecimal'
x = BigDecimal((2**100).to_s)
( x % 3).to_i # => 1
(-x % 3).to_i # => 2
( x % -3).to_i # => -2
(-x % -3).to_i # => -1
//}
戻り値は n と同じ符号になります。これは BigDecimal#remainder とは
異なる点に注意してください。詳細は Numeric#%、
Numeric#re... -
Symbol
# succ -> Symbol (9340.0) -
シンボルに対応する文字列の「次の」文字列に対応するシンボルを返します。
シンボルに対応する文字列の「次の」文字列に対応するシンボルを返します。
(self.to_s.next.intern と同じです。)
:a.next # => :b
:foo.next # => :fop
@see String#succ -
URI
:: Generic # hostname=(s) (9166.0) -
自身の hostname を設定します。
自身の hostname を設定します。
このメソッドは引数に IPv6 アドレスを設定した場合は
URI::Generic#host にブラケットを追加した文字列を設定しますがそれ
以外は同じ処理を行います。
require 'uri'
u = URI("http://foo/bar")
p u.to_s # => "http://foo/bar"
u.hostname = "::1"
p u.to_s # => "http://[::1]/bar"
@param s 自身の hostname を... -
Fixnum
# inspect(base = 10) -> String (9133.0) -
self を引数で指定した基数の文字列表現に変換します。
self を引数で指定した基数の文字列表現に変換します。
@param base 基数を 2 から 36 の整数で指定します。
12345.to_s #=> "12345"
12345.to_s(2) #=> "11000000111001"
12345.to_s(8) #=> "30071"
12345.to_s(10) #=> "12345"
12345.to_s(16) #=> "3039"
12345.to_s(36) #=> "9ix" -
Bignum
# inspect(base = 10) -> String (9115.0) -
self を引数で指定した基数の文字列表現に変換します。
self を引数で指定した基数の文字列表現に変換します。
@param base 基数を 2 から 36 の整数で指定します。
12345654321.to_s #=> "12345654321"
12345654321.to_s(2) #=> "1011011111110110111011110000110001"
12345654321.to_s(8) #=> "133766736061"
12345654321.to_s(16) #=> "2dfdbbc31"
78546939656932.to_s(36) ... -
URI
:: Generic # merge!(rel) -> self (9094.0) -
与えられたパス rel を自身へ連結します。
与えられたパス rel を自身へ連結します。
2396 の Section 5.2 の仕様に従います。
rel が文字列の場合は URI.parse(rel) によって、URI に変換してから連結します。
@param rel 連結したいパスを文字列か URI オブジェクトで与えます。
例:
require 'uri'
u = URI.parse('http://example.com/')
u.merge!('/foo/bar.html')
p u.to_s #=> http://example.co... -
Module
# inspect -> String (9061.0) -
モジュールやクラスの名前を文字列で返します。
モジュールやクラスの名前を文字列で返します。
このメソッドが返す「モジュール / クラスの名前」とは、
より正確には「クラスパス」を指します。
クラスパスとは、ネストしているモジュールすべてを
「::」を使って表示した名前のことです。
クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。
@return 名前のないモジュール / クラスに対しては、name は nil を、それ以外はオブジェクト ID の文字列を返します。
//emlist[例][ruby]{
module A
module B
end
p B.name #=> "A... -
Module
# name -> String | nil (9061.0) -
モジュールやクラスの名前を文字列で返します。
モジュールやクラスの名前を文字列で返します。
このメソッドが返す「モジュール / クラスの名前」とは、
より正確には「クラスパス」を指します。
クラスパスとは、ネストしているモジュールすべてを
「::」を使って表示した名前のことです。
クラスパスの例としては「CGI::Session」「Net::HTTP」が挙げられます。
@return 名前のないモジュール / クラスに対しては、name は nil を、それ以外はオブジェクト ID の文字列を返します。
//emlist[例][ruby]{
module A
module B
end
p B.name #=> "A... -
OpenSSL
:: Buffering # print(*args) -> nil (9040.0) -
args を順に出力します。
args を順に出力します。
args の各要素を to_s で文字列に変換して
出力します。
IO#print とほぼ同様ですが、引数を省略した場合に $_ を出力する
機能はありません。
@param args 出力するオブジェクト -
OpenSSL
:: X509 :: Request # to _ pem -> String (9025.0) -
PEM 形式の文字列に変換して返します。
PEM 形式の文字列に変換して返します。
@raise OpenSSL::X509::RequestError 変換に失敗した場合に発生します -
OpenStruct
# inspect -> String (9025.0) -
オブジェクトを人間が読める形式に変換した文字列を返します。
オブジェクトを人間が読める形式に変換した文字列を返します。
@see Object#inspect -
Rake
:: TaskArguments # inspect -> String (9025.0) -
自身を人間に読みやすい文字列にして返します。
自身を人間に読みやすい文字列にして返します。
@see Hash#inspect -
Pathname
# chown(owner , group) -> Integer (406.0) -
File.chown(owner, group, self.to_s) と同じです。
File.chown(owner, group, self.to_s) と同じです。
@param owner オーナーを指定します。
@param group グループを指定します。
//emlist[例][ruby]{
require 'pathname'
Pathname('testfile').stat.uid # => 501
Pathname('testfile').chown(502, 12)
Pathname('testfile').stat.uid # => 502
//}
@see File.chown, File#chown -
Pathname
# lchown(owner , group) -> Integer (406.0) -
File.lchown(owner, group, self.to_s) と同じです。
File.lchown(owner, group, self.to_s) と同じです。
@param owner オーナーを指定します。
@param group グループを指定します。
@see File.lchown -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (394.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。
これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。
signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。
@return インポートした関数を表す ... -
Pathname
# basename(suffix = "") -> Pathname (388.0) -
Pathname.new(File.basename(self.to_s, suffix)) と同じです。
Pathname.new(File.basename(self.to_s, suffix)) と同じです。
@param suffix サフィックスを文字列で与えます。'.*' という文字列を与えた場合、'*' はワイルドカードとして働き
'.' を含まない任意の文字列にマッチします。
//emlist[例][ruby]{
require "pathname"
Pathname("ruby/ruby.c").basename #=> #<Pathname:"ruby.c">
Pathname("ruby/ruby.c").basename("... -
Pathname
# expand _ path(default _ dir = & # 39; . & # 39;) -> Pathname (388.0) -
Pathname.new(File.expand_path(self.to_s, *args)) と同じです。
Pathname.new(File.expand_path(self.to_s, *args)) と同じです。
@param default_dir self が相対パスであれば default_dir を基準に展開されます。
//emlist[例][ruby]{
require "pathname"
path = Pathname("testfile")
Pathname.pwd # => #<Pathname:/path/to>
path.expand_path # => #<Pathname:/path/to/testfile>
path.e... -
REXML
:: Element # add _ namespace(prefix , uri) -> self (376.0) -
名前空間を要素に追加します。
名前空間を要素に追加します。
引数が2個の場合は prefix と uri を指定します。
引数が1個の場合はデフォルトの namespace の uri を指定します。
既に同じ prefix が存在する場合はそれが上書きされます。
@param prefix 名前空間の prefix
@param uri 名前空間の uri
//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new("a")
a.add_namespace("xmlns:foo", "bar" )
a.add_namespace("foo",... -
REXML
:: Element # add _ namespace(uri) (376.0) -
名前空間を要素に追加します。
名前空間を要素に追加します。
引数が2個の場合は prefix と uri を指定します。
引数が1個の場合はデフォルトの namespace の uri を指定します。
既に同じ prefix が存在する場合はそれが上書きされます。
@param prefix 名前空間の prefix
@param uri 名前空間の uri
//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new("a")
a.add_namespace("xmlns:foo", "bar" )
a.add_namespace("foo",... -
REXML
:: Entity # write(out , indent = -1) -> () (376.0) -
実体宣言を文字列化したものを out に書き込みます。
実体宣言を文字列化したものを out に書き込みます。
@param out 出力先の IO オブジェクト
@param indent 利用されません。deprecated なパラメータです
@see REXML::Entity#to_s -
Pathname
# each _ line(*args) -> Enumerator (370.0) -
IO.foreach(self.to_s, *args, &block) と同じです。
IO.foreach(self.to_s, *args, &block) と同じです。
//emlist[例][ruby]{
require "pathname"
IO.write("testfile", "line1\nline2,\nline3\n")
Pathname("testfile").each_line
# => #<Enumerator: IO:foreach("testfile")>
//}
//emlist[例 ブロックを指定][ruby]{
require "pathname"
IO.write("testfile", "line1\nline2,\nline3\... -
Pathname
# find(ignore _ error: true) -> Enumerator (358.0) -
self 配下のすべてのファイルやディレクトリを 一つずつ引数 pathname に渡してブロックを実行します。
self 配下のすべてのファイルやディレクトリを
一つずつ引数 pathname に渡してブロックを実行します。
require 'find'
Find.find(self.to_s) {|f| yield Pathname.new(f)}
と同じです。
ブロックを省略した場合は Enumerator を返します。
@param ignore_error 探索中に発生した例外を無視するかどうかを指定します。
@see Find.#find -
Pathname
# find(ignore _ error: true) {|pathname| . . . } -> nil (358.0) -
self 配下のすべてのファイルやディレクトリを 一つずつ引数 pathname に渡してブロックを実行します。
self 配下のすべてのファイルやディレクトリを
一つずつ引数 pathname に渡してブロックを実行します。
require 'find'
Find.find(self.to_s) {|f| yield Pathname.new(f)}
と同じです。
ブロックを省略した場合は Enumerator を返します。
@param ignore_error 探索中に発生した例外を無視するかどうかを指定します。
@see Find.#find -
Symbol
# [](substr) -> String | nil (355.0) -
self が substr を含む場合、一致した文字列を新しく作って返します。
self が substr を含む場合、一致した文字列を新しく作って返します。
(self.to_s[substr] と同じです。)
例:
:foobar.slice("foo") # => "foo"
:foobar.slice("baz") # => nil -
Symbol
# slice(substr) -> String | nil (355.0) -
self が substr を含む場合、一致した文字列を新しく作って返します。
self が substr を含む場合、一致した文字列を新しく作って返します。
(self.to_s[substr] と同じです。)
例:
:foobar.slice("foo") # => "foo"
:foobar.slice("baz") # => nil -
String
# %(args) -> String (220.0) -
printf と同じ規則に従って args をフォーマットします。
printf と同じ規則に従って args をフォーマットします。
args が配列であれば Kernel.#sprintf(self, *args) と同じです。
それ以外の場合は Kernel.#sprintf(self, args) と同じです。
@param args フォーマットする値、もしくはその配列
@return フォーマットされた文字列
//emlist[例][ruby]{
p "i = %d" % 10 # => "i = 10"
p "i = %x" % 10 # => "i = a"
p "i = %o" % 10...