ぽざうねっと

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  420  : 記事  0  : コメント  9718  : トラックバック  76

ニュース

さて、今年は何を漬けようか

書庫

日記カテゴリ

Accessory

Community

Private

text = "hoge"
puts text[2]
を実行すると、103 が表示されます。
引数が一つだとその文字の文字コードが表示されるんですね。
C# のノリでやるとあれ?っと思います。
指定の位置の文字を取得したい場合は、text[2, 1] とします。
文字列のインスタンスから直接指定の文字を取得なんてそうそうやるようなものではないので、簡単に文字コードが取得できるのはある意味ありがたいかもしれない。
投稿日時 : 2008年2月5日 22:23

コメント

# re: Ruby での文字列のインデクサ 2008/02/05 23:53 かずき
chrメソッドで文字コードから文字が取れますよ
"abc"[1].chr # => b

# re: Ruby での文字列のインデクサ 2008/02/06 0:01 THREE-ONE
お、そんなこともできるんですね。
まだまだリファレンスを詳しく勉強していないんですが、Ruby は結構色々できるみたいで楽しみです。

# re: Ruby での文字列のインデクサ 2008/02/06 11:23 DELI
rubyは色々な別解があって、知っておかないと他人のソースを読む時に困りますわー。
1文字を取得するだけでも何種類も方法がある。

text = "hoge"
puts text[2, 1]
puts text[2 .. 2]
puts text.slice(2, 1)

覚えなければならない事が多いので頭の容量の少ない私にはつらいです。。。


# re: Ruby での文字列のインデクサ 2008/02/06 20:32 THREE-ONE
そうなんですよね。
Perl ほどじゃないにしろ、いろんな方法がありすぎて困ります。
なのにシンプルな文法だとか謳ってる Ruby の紹介とかけっこうあるんですよね。

# re: Ruby での文字列のインデクサ 2008/02/07 8:43 かずき
素直な書き方(主観入りまくりますけど)している限りは割りと直感的かもしれないです。

もしくはHello worldとか書くときに
puts "Hello world"
だけでいいとか。

JavaやC#とかだと
public class Program {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
になるんで、確かにシンプルかもしれないですね(

# re: Ruby での文字列のインデクサ 2008/02/07 10:12 DELI
>>かずきさん

その比較方法だとperlでも直感的だと認識できてしまうし、公平じゃないと思う。
クラスの宣言とかmain関数の宣言は比較対照として含めない方が良い。

# re: Ruby での文字列のインデクサ 2008/02/07 12:48 かずき
>>DELIさん
後半のHello worldは直感的というよりはシンプルだというものの例に出しました。
書きたいことだけ書けば動かせるという意図です。

# re: Ruby での文字列のインデクサ 2008/02/07 23:30 THREE-ONE
シンプルって時点で主観が入ってしまいますからね。
私は Python のように、「誰が書いても同じようになる」ってところにシンプルさを感じます。
なので、Ruby や Perl は個人的にはシンプルじゃないなーって感じです。
便利で面白いから楽しいですけどね、Ruby

Post Feedback

タイトル
名前
Url:
コメント: