mechanize:Mechanize::Form#radiobuttons_with, #radiobuttons

以下のような HTML で

<html>
<head>
<title>form test</title>
</head>
<body>

<form method="get" action="cgi/foo00.cgi" name="form1">
  <input type="radio" name="radio1" value="foo" checked="checked" />Foo
  <input type="radio" name="radio1" value="bar" />Bar
</form>

</body>
</html>
>> require 'mechanize'
=> true
>> agent = Mechanize.new
=> #<Mechanize:0xb7473594 ...
>> page = agent.get('http://127.0.0.1:8080/test13_radiobutton.html')
=> #<Mechanize::Page
  ...
>> f = page.form('form1')
=> #<Mechanize::Form
  ...
>> f.radiobuttons_with
=> [#<Mechanize::Form::RadioButton:0xb7466fd8 @checked=true, @name="radio1", @value="foo", @form=#<Mechanize::Form
 {name "form1"}
 {method "GET"}
 {action "cgi/foo00.cgi"}
 {fields}
 {radiobuttons
  #<Mechanize::Form::RadioButton:0xb7466fd8
   @checked=true,
   @name="radio1",
   @value="foo">
  #<Mechanize::Form::RadioButton:0xb7466e70
   @checked=false,
   @name="radio1",
   @value="bar">}
 {checkboxes}
 {file_uploads}
 {buttons}>
, @node=#<Nokogiri::XML::Element:0x..fdba3385a name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba2abce name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba2abc4 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba2abba name="value" value="foo">, #<Nokogiri::XML::Attr:0x..fdba2abb0 name="checked" value="checked">]>>, #<Mechanize::Form::RadioButton:0xb7466e70 @checked=false, @name="radio1", @value="bar", @form=#<Mechanize::Form
 {name "form1"}
 {method "GET"}
 {action "cgi/foo00.cgi"}
 {fields}
 {radiobuttons
  #<Mechanize::Form::RadioButton:0xb7466fd8
   @checked=true,
   @name="radio1",
   @value="foo">
  #<Mechanize::Form::RadioButton:0xb7466e70
   @checked=false,
   @name="radio1",
   @value="bar">}
 {checkboxes}
 {file_uploads}
 {buttons}>
, @node=#<Nokogiri::XML::Element:0x..fdba3380a name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba28edc name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba28ed2 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba28ec8 name="value" value="bar">]>>]
>> f.radiobuttons_with(:value => "bar")
=> [#<Mechanize::Form::RadioButton:0xb7466e70 @checked=false, @name="radio1", @value="bar", @form=#<Mechanize::Form
 {name "form1"}
 {method "GET"}
 {action "cgi/foo00.cgi"}
 {fields}
 {radiobuttons
  #<Mechanize::Form::RadioButton:0xb7466fd8
   @checked=true,
   @name="radio1",
   @value="foo">
  #<Mechanize::Form::RadioButton:0xb7466e70
   @checked=false,
   @name="radio1",
   @value="bar">}
 {checkboxes}
 {file_uploads}
 {buttons}>
, @node=#<Nokogiri::XML::Element:0x..fdba3380a name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba28edc name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba28ed2 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba28ec8 name="value" value="bar">]>>]
>> f.radiobuttons_with(:value => "bar").each {|x| p x}
#<Mechanize::Form::RadioButton:0xb7466e70 @checked=false, @name="radio1", @value="bar", @form=#<Mechanize::Form
 {name "form1"}
 {method "GET"}
 {action "cgi/foo00.cgi"}
 {fields}
 {radiobuttons
  #<Mechanize::Form::RadioButton:0xb7466fd8
   @checked=true,
   @name="radio1",
   @value="foo">
  #<Mechanize::Form::RadioButton:0xb7466e70
   @checked=false,
   @name="radio1",
   @value="bar">}
 {checkboxes}
 {file_uploads}
 {buttons}>
, @node=#<Nokogiri::XML::Element:0x..fdba3380a name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba28edc name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba28ed2 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba28ec8 name="value" value="bar">]>>
=> [#<Mechanize::Form::RadioButton:0xb7466e70 @checked=false, @name="radio1", @value="bar", @form=#<Mechanize::Form
 {name "form1"}
 {method "GET"}
 {action "cgi/foo00.cgi"}
 {fields}
 {radiobuttons
  #<Mechanize::Form::RadioButton:0xb7466fd8
   @checked=true,
   @name="radio1",
   @value="foo">
  #<Mechanize::Form::RadioButton:0xb7466e70
   @checked=false,
   @name="radio1",
   @value="bar">}
 {checkboxes}
 {file_uploads}
 {buttons}>
, @node=#<Nokogiri::XML::Element:0x..fdba3380a name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba28edc name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba28ed2 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba28ec8 name="value" value="bar">]>>]
>> f.radiobuttons(:value => "bar")
ArgumentError: wrong number of arguments (1 for 0)
	from (irb):9:in `radiobuttons'
	from (irb):9
>> f.radiobuttons
=> [#<Mechanize::Form::RadioButton:0xb7466fd8 @checked=true, @name="radio1", @value="foo", @form=#<Mechanize::Form
 {name "form1"}
 {method "GET"}
 {action "cgi/foo00.cgi"}
 {fields}
 {radiobuttons
  #<Mechanize::Form::RadioButton:0xb7466fd8
   @checked=true,
   @name="radio1",
   @value="foo">
  #<Mechanize::Form::RadioButton:0xb7466e70
   @checked=false,
   @name="radio1",
   @value="bar">}
 {checkboxes}
 {file_uploads}
 {buttons}>
, @node=#<Nokogiri::XML::Element:0x..fdba3385a name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba2abce name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba2abc4 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba2abba name="value" value="foo">, #<Nokogiri::XML::Attr:0x..fdba2abb0 name="checked" value="checked">]>>, #<Mechanize::Form::RadioButton:0xb7466e70 @checked=false, @name="radio1", @value="bar", @form=#<Mechanize::Form
 {name "form1"}
 {method "GET"}
 {action "cgi/foo00.cgi"}
 {fields}
 {radiobuttons
  #<Mechanize::Form::RadioButton:0xb7466fd8
   @checked=true,
   @name="radio1",
   @value="foo">
  #<Mechanize::Form::RadioButton:0xb7466e70
   @checked=false,
   @name="radio1",
   @value="bar">}
 {checkboxes}
 {file_uploads}
 {buttons}>
, @node=#<Nokogiri::XML::Element:0x..fdba3380a name="input" attributes=[#<Nokogiri::XML::Attr:0x..fdba28edc name="type" value="radio">, #<Nokogiri::XML::Attr:0x..fdba28ed2 name="name" value="radio1">, #<Nokogiri::XML::Attr:0x..fdba28ec8 name="value" value="bar">]>>]

複数形の _with の場合は、「attr_reader :fields, :buttons, :file_uploads, :radiobuttons, :checkboxes」があるので _with の alias ではないらしい〜(なので引数は取れないはず)