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

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

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

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

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Q&A

解決済

1回答

1883閲覧

Rubyでの文字列の連結がわかりません。

miyayamo

総合スコア16

Ruby

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

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

0グッド

0クリップ

投稿2016/05/01 09:56

編集2018/02/27 12:23

###前提・実現したいこと
RubyでTwitterのbotを制作しています。ツイートしたい文字が「文字列+変数の中身」なのですが文字列の連結の方法がわかりません。

###発生している問題・エラーメッセージ

C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/twitter-5.16.0/lib/twitter/rest/tweets.rb:155:in dup': can't dup Fixnum (TypeError) from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/twitter-5.16.0/lib/twitter/rest/tweets.rb:155:in update!'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/twitter-5.16.0/lib/twitter/rest/tweets.rb:128:in
update' from C:/TwitterBot/bot.rb:13:in block in <main>'
from C:/TwitterBot/bot.rb:12:in loop' from C:/TwitterBot/bot.rb:12:in <main>'

###該当のソースコード

Ruby

1 2require 'twitter' 3OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE 4 5client = Twitter::REST::Client.new do |config| 6 config.consumer_key = 'キー' 7 config.consumer_secret = 'キー' 8 config.access_token = 'キー' 9 config.access_token_secret = 'キー' 10end 11 12num = 1 13loop { 14 client.update("連投" , num) 15 num += 1 16 if num > 5 then 17 break 18 end 19} 20###試したこと 21client.update("連投" , num)もダメ 22 23ren = "連投" 24client.update(ren , num)もダメ 25 26ren = "連投" 27hoge = ren + num 28 client.update(hoge)もダメでした。 29 30###よろしくお願いします。 31m(_ _)m

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

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

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

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

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

guest

回答1

0

ベストアンサー

irb で文字列連結法をためしてみたものを示します。
これを参考に、かんがえていけば、解決できると思います。

ruby

1$ irb 2irb(main):001:0> num = 1 3=> 1 4irb(main):002:0> "aaa" + num 5TypeError: no implicit conversion of Fixnum into String 6 from (irb):2:in `+' 7 from (irb):2 8 from /Users/katoy/.rbenv/versions/2.2.3/bin/irb:11:in `<main>' 9irb(main):003:0> "aaa" + num.to_s 10=> "aaa1" 11irb(main):004:0> "aaa#{num}" 12=> "aaa1"

↑で 文字列 + 数字の変数 は ruby ではエラーになります。

投稿2016/05/01 10:38

katoy

総合スコア22324

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

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

miyayamo

2016/05/01 11:03

num = 1 loop { client.update("連投" + num.to_s) num += 1 if num > 5 then break end } とするとうまくいきました! .to_sで数字を文字列に変換するのですね。データ型が違っていたから連結できなかったということでしょうか… もっと詳しく調べてみようと思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問