/tmp

TODO
پنجشنبه, ۷ ارديبهشت ۱۳۹۱، ۰۱:۵۷ ب.ظ

!Ruby

به نقل از ویکی پدیا:

روبی (به انگلیسیRuby) یک زبان برنامه‌نویسی انعطافپذیر، پویا و شی‌گرا است. روبی ویژگی‌های نگارشی پرل و شی‌گرایی اسمال‌تاک را با هم در خود دارد. نسخه فعلی این زبان Ruby 1.9.1 است که بهزبان سی و بصورت زبانی با مفسر تک‌گذره پیاده‌سازی شده است.

چند وقت پیش داشتم دنبال یه چیزی می گشتم، یه چند تا کد به زبان Ruby دیدم که خیلی عجیب بودن. عجیب از این لحاظ که این زبان قابلیت های خیلی جالبی داره. برای نمونه این چند تا رو ببینید:

این برنامه 10001 امین عدد اول رو پیدا می کنه.

require 'mathn'
puts Prime.take(10001).last

یه دنباله از اعداد 0 تا 9 رو در نظر بگیرید، 1,000,000 امین جایگشت این دنباله رو این برنامه می نویسه.

puts (0..9).to_a.permutation(10).to_a[999999].join

و این هم آخرین مثال؛ برنامه ای که جمع تمام ارقام عدد !100 رو حساب کنه.

puts 100.downto(1).inject(:*).to_s.each_char.inject(0) {|s,v|s+v.to_i}

و برای اینکه بیشتر متاثر بشید، کد همین برنامه رو در C++ ببنید. (چون یه کم زیاده لینک دادم.)

یه نکته ای هم که این زبان داره اینه که نسبت به زبان های دیگه ای مثل Matlab که اون ها هم قابلیت هاشون خارق العاده اس، خیلی کاربرد گسترده تری داره.

کدهای Ruby برگرفته شده از +



نوشته شده توسط شایان حسینی
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

/tmp

TODO
/tmp

آخرین مطالب

  • ۹۰/۱۲/۲۶
    DOS
  • ۹۰/۱۰/۳۰
    Vim

Untitled

Fedora 17!
۰۷ارديبهشت

!Ruby

پنجشنبه, ۷ ارديبهشت ۱۳۹۱، ۰۱:۵۷ ب.ظ

به نقل از ویکی پدیا:

روبی (به انگلیسیRuby) یک زبان برنامه‌نویسی انعطافپذیر، پویا و شی‌گرا است. روبی ویژگی‌های نگارشی پرل و شی‌گرایی اسمال‌تاک را با هم در خود دارد. نسخه فعلی این زبان Ruby 1.9.1 است که بهزبان سی و بصورت زبانی با مفسر تک‌گذره پیاده‌سازی شده است.

چند وقت پیش داشتم دنبال یه چیزی می گشتم، یه چند تا کد به زبان Ruby دیدم که خیلی عجیب بودن. عجیب از این لحاظ که این زبان قابلیت های خیلی جالبی داره. برای نمونه این چند تا رو ببینید:

این برنامه 10001 امین عدد اول رو پیدا می کنه.

require 'mathn'
puts Prime.take(10001).last

یه دنباله از اعداد 0 تا 9 رو در نظر بگیرید، 1,000,000 امین جایگشت این دنباله رو این برنامه می نویسه.

puts (0..9).to_a.permutation(10).to_a[999999].join

و این هم آخرین مثال؛ برنامه ای که جمع تمام ارقام عدد !100 رو حساب کنه.

puts 100.downto(1).inject(:*).to_s.each_char.inject(0) {|s,v|s+v.to_i}

و برای اینکه بیشتر متاثر بشید، کد همین برنامه رو در C++ ببنید. (چون یه کم زیاده لینک دادم.)

یه نکته ای هم که این زبان داره اینه که نسبت به زبان های دیگه ای مثل Matlab که اون ها هم قابلیت هاشون خارق العاده اس، خیلی کاربرد گسترده تری داره.

کدهای Ruby برگرفته شده از +

موافقین ۰ مخالفین ۰ ۹۱/۰۲/۰۷

نظرات  (۵)

۰۷ ارديبهشت ۹۱ ، ۱۶:۱۹ عرفان علی محمدی
 داشتم فکر می کردم که عیبی از Ruby یا مزیّتی از زبان هایی که در دسترس داریم پیدا کنم، به این نتیجه رسیدم که:
۱) در Ruby مجبوریم کد حفظ کنیم!
۲) معمولاً برنامه می نویسیم که چیزی یاد بگیریم(الگوریتم و اینا...).
۳) به اندازه ی پاسکال قوی نیست.
قوی بودن درمورد زبان ها یعنی نزدیک بودن به زبان انسان(انگلیسی البتّه!).
پاسخ:
در این زبان الزامی به حفط کد نیست. میشه استفاده هم نکرد. ولی خب به راحتی ++C نیست. ;)
Chize Kheili Bahali Bud. Kheili Hal Mide Kar Bahash.
Dar Javabe Erfan :

Hamishe Lazem Nist Code Hefz Koni . Mi2ni Ba ye Search e 1 mini Peidash Koni
Hame Barname nemineVsan ke Algorithm yad Begiran, Shayad Karbord Mohem tar Bashe. 
 سلام جالب بود اما به طور کلى هر زبان برنامه نویسى براى یک نیازى به وجود آمده است این زبان مى تواند بیشتر براى ریاضیدانان یا دانش آموزانى که مى خواهند مساىل ریاضى رو حل کنند بدرد بخورد اما من دوست دارم در این وبلاگ اون دید برنامه نویسى که مشاالله هیچ ىک از دوستان زیاد زه آن توجه اى ندارند دیده شود برنامه نویسى کاربدى .
موفق باشى
پاسخ:
آخه تا اونجایی که می دونم زبان هایی مثل Mathematica و Matlab کاربرد ریاضیاتی دارن و اصلا فکر نمی کردم که Ruby همچین چیزایی داشته باشه. 
شایان خیلی وبلاگت رو اخبار مانند کردی !

یکم از خودت بنویس . از مدرسه بنویس . از خودمون بنویس !
پاسخ:
هر وبلاگ یه موضوع خاص داره.
 ولی من همین خبر ها رو تا حد زیادیش رو میتونم تو سایت های خبری پیدا کنم .

یه خورده مثل عرفان بنویس !
پاسخ:
اگه یکم دقت کنی می فهمی که این ها اخبار نیستن.
بعدش هم اگه یه مطلب در یه حوزه خاص نوشته بشه مخاطبان خاصی رو هم می طلبه.
همچنین در این پست به موضوع مطالب بلاگ اشاره شده.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی