質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

3回答

364閲覧

stripメソッドについて

isd_kisk

総合スコア15

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2022/01/20 16:09

rubyでstripメソッドについて公式ドキュメントを見ていた際に、よく分からないコードがあったので、質問させてください

p " \0 abc \0".stri => "\000 abc"

となるのですが、「\0」のあとに0が2個続くのでしょうか?

分かる方いらっしゃたらご教示いただけるとありがたいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

@otn様、@melian様ご回答いただきありがとうございました。@otn様のご回答が自分としてはしっくりきたので、今回は@otn様のご回答をベストアンサーにさせていただきました。わかりやすい説明ありがとうございました!

投稿2022/01/24 11:25

isd_kisk

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

サンプルの記述が古いですね(リファレンスにはそういう部分結構あります)。
今のRubyなら、デフォルトだと\u0000と表示されるはず。

文字列リテラルのバックスラッシュ記法で、
バックスラッシュの後に最大3文字の0-7を使って8進数で文字を指定出来ます。
pでの表示は、制御文字はバックスラッシュ記法で表示されます。String#inspectの項を参照。
8進数で表示されるのはRuby1.8までだと思います。16進だと常に2桁、8進だと常に3桁表示ですね。

Ruby

1irb(main):001:0> p " \0 abc \0".strip 2"\u0000 abc" 3=> "\u0000 abc" 4irb(main):002:0> p " \0 abc \0".strip.force_encoding("BINARY") 5"\x00 abc" 6=> "\x00 abc"

投稿2022/01/21 01:48

otn

総合スコア84557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

puts で表示してみると判るかと思いますが、実際には 0x0 になっています。

bash

1$ ruby -e 'puts " \0 abc \0".strip' | od -tx1a 20000000 00 20 20 61 62 63 0a 3 nul sp sp a b c nl

また、irb で実行して見ると UTF-8 コードで表示されている事が判るかと思います。

ruby

1irb> p " \0 abc \0".strip 2"\u0000 abc" 3=> "\u0000 abc" 4irb> p " \0 abc \0".strip[0] 5"\u0000" 6=> "\u0000"

投稿2022/01/20 22:09

melian

総合スコア19803

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問