[#50398] C c開発環境のないWindowsでは gem install json は無理でしょうか — dezawa <dezawa@...>

nokogiri も必要なのです、、、、

14 messages 2016/09/25

[ruby-list:50392] Re: [質問]ruby SOAP? DLNA機器制御 Action名内の '_' Underscore が取り除かれる

From: Toshihiko Ichida <dogatana@...>
Date: 2016-09-16 22:08:49 UTC
List: ruby-list #50392
市田です。

On 2016/09/12 14:30, yamataka@u08.itscom.net wrote:

> Savonの
> https://github.com/savonrb/savon/blob/master/lib/savon/options.rb#L298
> を見たら、:none もあるので、
> c.convert_request_keys_to :none
> でも、期待通りの動作になりました。

私は普通に追いかけて行って、

return options[:key_converter] if options[:key_converter].is_a? Proc
(https://github.com/savonrb/gyoku/blob/master/lib/gyoku/xml_key.rb#L37)

という行に行に行き会ったのですが、よくよく見ると少し下に

FORMULAS[key_converter]

を返していて、この定数はこの上の方で、

 >     FORMULAS = {
 >        :lower_camelcase => lambda { |key| LOWER_CAMELCASE.call(key) },
 >        :camelcase       => lambda { |key| CAMELCASE.call(key) },
 >        :upcase          => lambda { |key| UPCASE.call(key) },
 >        :none            => lambda { |key| key }

とあるのでした。
:none の場合、このハッシュの値が利用されているということですね。

> c.convert_request_keys_to ->(x) { x }
> ->(x) {x}
> "->" は、Rubyの文法上どういった意味になるのでしょうか?
> (X)は引数、{x} はコードブロックで、xをreturn かなと理解できるのですが...

既に他の方が回答されていますが、上のハッシュと同じ意味となります。
こういった記号列は検索が難しいですが、"ラムダ式"、"アロー演算子"、
"arrow" などと"ruby"で検索するといくつか出てきます。

例えば http://qiita.com/sudahiroshi/items/c51618dec0f56a54670e など。

他の言語でも似たよぅなものがあるので、複数の言語で同時期にプログラミング 
していると、仮引数の位置とか、-> か => かなどで、混乱します。。

lambda, proc, -> など色々あるわけですが、違いについては『メタプログラミ 
ングRuby 第2版』の説明がわかりやすいと思います。


In This Thread

Prev Next