আর এ একই লাইনে স্ট্রিং এবং পরিবর্তনশীল সামগ্রী মুদ্রণ করুন


198

একই লাইনে পাঠ্য এবং পরিবর্তনশীল বিষয়বস্তু মুদ্রণের কোনও উপায় আছে কি? উদাহরণ স্বরূপ,

wd <- getwd()
print("Current working dir: ", wd)

সিনট্যাক্স সম্পর্কে এমন কিছু খুঁজে পাইনি যা আমাকে এটি করতে দেয় allow

r  printing 

উত্তর:


299

আপনি pasteসাথে ব্যবহার করতে পারেনprint

print(paste0("Current working dir: ", wd))

অথবা cat

cat("Current working dir: ", wd)

8
আপনি সম্ভবত চান sep = ''বা আপনি একটি অতিরিক্ত স্থান পাবেন।
হ্যাডলি

8
ব্যবহার শেষে cat()আমি একটি NULL
পেয়েছি

5
@ragesz আমি কেবল শেষটিই বাতিল করব যদি আপনি বিড়ালটিকে প্রিন্টের মতো print(cat("test", var))cat("test", var)
রাখেন

62

{আঠালো much আরও ভাল স্ট্রিং অন্তরঙ্গ প্রস্তাব দেয়, আমার অন্যান্য উত্তর দেখুন । এছাড়াও, যেমন ডেইনিস যথাযথভাবে উল্লেখ করেছেন, sprintf()সমস্যা ছাড়াই নয়।

এছাড়াও আছে sprintf():

sprintf("Current working dir: %s", wd)

কনসোল আউটপুট প্রিন্ট করতে, ব্যবহার cat()বা message():

cat(sprintf("Current working dir: %s\n", wd))
message(sprintf("Current working dir: %s\n", wd))

আর একটি দুর্দান্ত বিকল্প! এটি অন্যান্য স্ক্রিপ্টিং ভাষার সাথে খুব সমান এবং আপনার যদি এমন কোনও পাঠ্য থাকে যেখানে আপনি একাধিক ভেরিয়েবল প্রয়োগ করতে চান convenient ধন্যবাদ!

1
এখন পর্যন্ত সবচেয়ে সুবিধাজনক বিকল্প, বিশেষত যদি আপনি কোনও ফাংশন যুক্তি রচনা করেন। পেস্ট দিয়ে এটি দ্রুত একটি অপঠনযোগ্য জগাখিচুড়ি হয়ে যায়।
ব্যবহারকারী 27636

2
নোট যে sprintfমুদ্রণ করে না, এটি কেবল স্ট্রিংকে ফর্ম্যাট করে। স্ক্রিপ্টগুলির ভিতরে মুদ্রণের মতো কিছু (স্প্রিন্টফ (...)) প্রয়োজনীয়।
সিএইচএস


17

এটি করার সহজ উপায় হ'ল ব্যবহার করা paste()

> paste("Today is", date())
[1] "Today is Sat Feb 21 15:25:18 2015"

paste0() নিম্নলিখিত ফলাফল হবে:

> paste0("Today is", date())
[1] "Today isSat Feb 21 15:30:46 2015"

লক্ষ করুন স্ট্রিং এবং এক্স এর মধ্যে কোনও ডিফল্ট পৃথক নেই। স্ট্রিংয়ের শেষে একটি স্পেস ব্যবহার করা একটি দ্রুত সমাধান:

> paste0("Today is ", date())
[1] "Today is Sat Feb 21 15:32:17 2015"

তারপর হয় ফাংশন একত্রিত print()

> print(paste("This is", date()))
[1] "This is Sat Feb 21 15:34:23 2015"

অথবা

> print(paste0("This is ", date()))
[1] "This is Sat Feb 21 15:34:56 2015"

অন্য ব্যবহারকারীরা যেমন বলেছে, আপনিও এটি ব্যবহার করতে পারেন cat()


14

{আঠালো} প্যাকেজ স্ট্রিং ক্ষেপক উপলব্ধ করা হয়। উদাহরণস্বরূপ, {wd}ভেরিয়েবলের বিষয়বস্তুর সাথে প্রতিস্থাপিত হয়। জটিল প্রকাশগুলিও সমর্থিত।

library(glue)

wd <- getwd()
glue("Current working dir: {wd}")
#> Current working dir: /tmp/RtmpteMv88/reprex46156826ee8c

2019-05-13 তারিখে ডিপেক্স প্যাকেজ (v0.2.1) দ্বারা তৈরি

নোট করুন যে মুদ্রিত আউটপুটটিতে কীভাবে [1]নিদর্শনগুলি এবং "উদ্ধৃতিগুলি থাকে না , যার জন্য অন্যান্য উত্তর ব্যবহার করে cat()


8

অন্য ব্যবহারকারীরা যেমন বলেছেন, বিড়াল () সম্ভবত সেরা বিকল্প।

@krlmlr স্প্রিন্টফ () ব্যবহার করার পরামর্শ দিয়েছে এবং এটি বর্তমানে তৃতীয় স্থানের উত্তর। স্প্রিন্টফ () একটি ভাল ধারণা নয়। আর ডকুমেন্টেশন থেকে:

ফর্ম্যাট স্ট্রিংটি ওএসের স্প্রিন্টফ ফাংশনটি ছাড়িয়ে গেছে, এবং ভুল ফর্ম্যাটগুলির ফলে আর প্রক্রিয়াটি ক্র্যাশ করতে পারে।

বিড়াল বা অন্যান্য বিকল্পের উপরে স্প্রিন্টফ () ব্যবহার করার কোনও ভাল কারণ নেই।


2

আর-এ পরিবর্তনশীল মানগুলির সাথে স্ট্রিংকে একত্রিত করতে আপনি পেস্ট0 বা বিড়াল পদ্ধতিটি ব্যবহার করতে পারেন

উদাহরণ স্বরূপ:

paste0("Value of A : ", a)

cat("Value of A : ", a)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.