[#39863] forループの速度 — Masahiro Sato <msato@...>

15 messages 2004/07/20

[#39868] イテレータとfor文 — OOTANI TAKASHI <otn@...5.so-net.ne.jp>

大谷と申します。

31 messages 2004/07/20
[#39886] Re: イテレータとfor文 — Tietew <tietew-ml-ruby-list@...> 2004/07/21

[ruby-list:39884] Re: Stringでのバックスラッシュ記法の有効化について 

From: SASADA Koichi <ko1@...>
Date: 2004-07-21 03:08:25 UTC
List: ruby-list #39884
  Nowake <nowake@fiercewinds.net> wrote :
    [ [ruby-list:39867] Stringでのバックスラッシュ記法の有効化について ]
    at Wed, 21 Jul 2004 01:08:09 +0900

 ささだです.

> 通常、String#inspectで文字列を処理した場合、\nや\tなどの制御コードはバッ
> クスラッシュ記法に合わせて文字化されて出力されますが、この文字化されたバッ
> クスラッシュ記法を再び制御コードに戻す方法はありませんでしょうか?

require 'yaml'
str1 = "\t test  \n  test \n"
dumped = str1.dump

str2 = YAML.load("--- " + dumped)
p(str1 == str2) #=> true

 こんなのを考えてみたのですが,YAMLの仕様上,これは保障され
ているのでしょうか?(と,さらに聞く)


-- 
// SASADA Koichi at atdot dot net
//


def undump dumped
  if /"(.+)"/m =~ dumped
    $1.gsub(/\\(.)/){
      eval  "\"\\#{$1}\""
    }
  else
    raise 'not dumped string'
  end
end

こんなのも考えてみたんですが,穴がありそう.


In This Thread