<cappy>
Using irb from terminal, defining a class, made data entry error. How does one end the class short of ending irb altogether as no amount of "end" completes the class definition. New Ruby user.
<llua>
ctrl+c?
<cappy>
llua: No joy. I think I'm going to try https://github.com/pry/pry which I just found. Apparently, editing within irb is (near) impossible, and most will "load" their .rb script into irb.
<cappy_>
Does `gem install ...` need to be done using sudo? Is there no local user install a la python?
cappy has quit [Ping timeout: 268 seconds]
<llua>
no
<llua>
to the first question
<cappy_>
"pry" is working.
<cappy_>
It did require a sudo install to /var/lib/gems/2.7.0
cappy_ is now known as cappy
ih8u has quit [Remote host closed the connection]
cappy has quit [Ping timeout: 268 seconds]
cappy has joined #ruby
<konsolebox>
cappy: User install is `--user-install`. Some Ruby setups however may force `gem install` to be in `user-install` mode always as the right way to install system gems may be by using the package manager.
<konsolebox>
cappy: Also some Ruby setups don't have user gems working right away. You'll have to add bin path to PATH in ~/.bashrc or the command bashrc.
<cappy>
konsolebox: tyvm. I'm just starting out w/ Ruby, so there is a lot to learn. I'll keep that in mind abt the gems; I only have the 3 from the "pry" install so far.
kaivai has quit [Ping timeout: 256 seconds]
<konsolebox>
*common bashrc
<cappy>
kk
<konsolebox>
cappy: As for your first question, Ctrl-C does work. Perhaps you're using an old irb? New ones already have lots of pry-like features.
<cappy>
Looks like I overstepped the PM on the "pry" install; 0.12.2 at the repo; 0.14.2 on the gem install.
<cappy>
My irb 1.2.1 wouldn't quit the class def on <Ctl><C> ; <Ctl><D> did exit the app. As I'm running Mint 20.3 you're likely right; old irb.
<konsolebox>
Consider using rbenv to install your own Ruby as a user. You'll have more updated versions and you'll get to try other versions more easily as well.
<konsolebox>
It also allows projects to always run at a specific Ruby version.
fdan has joined #ruby
<cappy>
Yes, that sounds like the direction I wanted to go in; a la python versatility. Thank you konsolebox for these tips.
jmcgnh has quit [Ping timeout: 268 seconds]
<cappy>
* very old irb: 1.2.1 vs. 1.13.1.
jmcgnh has joined #ruby
Linux_Kerio has joined #ruby
kaivai has joined #ruby
fdan has quit [Ping timeout: 250 seconds]
kaivai has quit [Read error: Connection reset by peer]
kaivai has joined #ruby
grenierm has joined #ruby
<cappy>
Is there a Pry.config option to control the history buffer size/save to .pry_history similar to IRB.conf[:SAVE_HISTORY] = n ?
<cappy>
konsolebox: I've seen those: {save,load,file} etc. but nothing on the limit. Perhaps there is none? IRB defaults to 1000. Even Bash has a history setting. I'd be surprised if pry doesn't manage this somehow; just not finding it.
<cappy>
So, at one time, pry did out-do irb and was the recommended console tool, then irb updates pushed functionality past pry? Now irb is "king" again? Just trying to get a perspective on what tool I should invest in.
<cappy>
I do like the "edit" though. That's come in handy.
<konsolebox>
cappy: You can change the saver function in Pry.config.history.saver so it limits history. The default one doesn't limit.
<cappy>
And apparently I don't have that with my Ruby/irb, version ruby 2.7.0p0 when irb editing came out in ruby 2.7.0p1 and I'm just short of that.
ih8u has joined #ruby
<konsolebox>
Ruby 2.7 is too old for the new IRb.
<konsolebox>
The new IRB has better completion than pry at the moment.
<konsolebox>
Not only it provides you a menu to select possible completions, it also shows method documentation.
<konsolebox>
PRY shows simple readline output.
<cappy>
Yeah, I'm realizing that. I'm actually embarrassed to be bothering you with antique s/w here. I'm missing a lot of function and should upgrade. I did install the rbenv but haven't yet initialized; should do this instead of using the global system Ruby.
<konsolebox>
It's safe to use it user-wise.
<konsolebox>
I say go ahead.
<cappy>
I've done the: `rbenv install --list` and it's a long list. Right now, I can't make heads-or-tails out of the 1.x, 2.x, jruby, rbx, ree available options. What should I go with to get the latest Ruby/irb?
<konsolebox>
Start with the 3.x versions
<cappy>
Latest on Github is 3.3.1 and I don't think this is the rbx-3.31 in that list, nor does a 3.3.1 show there; it stops at 2.4.1. Am I limited by my older OS version with that list?
<konsolebox>
You probably have an old version of ruby-build. How did you install rbenv?
<cappy>
With the old version of my PM :D From my repo, which Mint 20.3 has not updated its Ruby since.
<konsolebox>
I see. I suggest you uninstall the rbenv from the PM and follow the steps in rbenv's documentation to install rbenv as a user.
<cappy>
More embarrassment: ruby-build 20170726
<konsolebox>
Very old :)
<cappy>
Antique, I might add. Yes, good advice. I'll do that and look for those instructions to install as a "user".
<cappy>
Accordingly: "Note that the version of rbenv that is packaged and maintained in the Debian and Ubuntu repositories is out of date." per https://github.com/rbenv/rbenv
<cappy>
konsolebox: rbenv 1.2.0-91-gc3ba994 installed to ~/.rbenv. How do I get the ruby-build plugin? This came automatic with the old repo install.
<konsolebox>
Let me revisit the doc
elcuervo has quit [Read error: Connection reset by peer]
<konsolebox>
cappy: Looks like you need to install yaml.
<cappy>
Agreed. It's not in my repo. If I install Go, does that get me Yaml? Or do I get Yaml here: https://github.com/go-yaml/yaml
mollerup has joined #ruby
<konsolebox>
cappy: https://github.com/yaml/libyaml is the one that provides yaml.h. Do you know any source where you can install this as a package? I don't know Mint's PM. Is it installing deb images as well?
<konsolebox>
cappy: Not sure if Go will provide it too.
<konsolebox>
Technically you can also just compile and install it from source but it will not be recorded in your PM's registry of installed packages.
<cappy>
konsolebox: I'm going to have to study this further. I don't have answers to those questions. I've already asked Search how to install Yaml on Mint and there looks like a "sister" PyYAML for Python but no Ruby found. Need to look further.
<cappy>
I could do a "checkinstall" for that; builds a DEB and then install with GDebi to get it in the PM.
<cappy>
Hmmm... guess we'll call it a day for now. Do appreciate your help immensely.
<konsolebox>
cappy: In Ubuntu and Debian based platforms it should be libyaml-dev as mentioned in Ruby's release page of 3.2. Starting 3.2, libyaml is no longer bundled.
<cappy>
I'll look for that. Now that I know what the library is called. Get it installed and re-try the compile.
grenierm has quit [Quit: Ping timeout (120 seconds)]
<konsolebox>
cappy: No worries. At least you already have rbenv installed. You can also try earlier versions like 3.1. At least it bumps the version a bit.
molle has joined #ruby
<cappy>
Yup. It's progress. Much thanks!
<konsolebox>
cappy: Yes that's what you have to do. If libyaml-dev isn't available, you also compile from source. It's pretty simple. Clone libyaml repo, change directory, then `./configure --prefix=/usr && make && sudo make install`.
<cappy>
Got it. kk
mollerup has quit [Ping timeout: 272 seconds]
Trivial has joined #ruby
grenierm has joined #ruby
osc4rpt has quit [Ping timeout: 255 seconds]
cappy has quit [Quit: Leaving]
osc4rpt has joined #ruby
grenierm has quit [Quit: Client closed]
grenierm has joined #ruby
FetidToot3 has quit [Quit: Ping timeout (120 seconds)]
FetidToot3 has joined #ruby
graywolf has joined #ruby
osc4rpt has quit [Ping timeout: 268 seconds]
grenierm has quit [Quit: Client closed]
mynameisdebian has joined #ruby
bougyman has quit [Ping timeout: 264 seconds]
jaredce has joined #ruby
<jaredce>
anyone familiar with rvm? the steps to install it suggest installing their gpg keys... this command: gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB on OSX after installing gpg,
<jaredce>
is failing
<jaredce>
it comes back with a gpg: keyserver receive failed: No route to host
ruby[bot] has quit [Remote host closed the connection]
ruby[bot] has joined #ruby
<cappy>
konsolebox: Are you in?
<konsolebox>
Sup
<cappy>
Missing piece, which you identified "libyaml-dev", found in PM, installed, and build re-tried successfully. No w at Ruby 3.3.1, irb 1.11; did immediately see editing and other improvements over old version after running `rbenv init` => eval "$(rbenv init - bash)" into ~/.bash_profile, and including "~/.rbenv/bin" in PATH.
<cappy>
Thank you again for your help getting me up-to-date past Ruby 2.7/irb 1.2. I'm certain this will facilitate following the more current web tutorials as I learn Ruby. 👍
<konsolebox>
Good to hear you got to install it finally
<konsolebox>
Welcome
xdminsy has joined #ruby
<cappy>
Glad to be here. Very much liking Ruby. The constructs seems natural and does what I think it should do. Can't say that for other languages I've tried.
<cappy>
* some other :P
<Al2O3>
ruby doobie doo.
<Al2O3>
learn smalltalk, and then C, and you will with ObjC come to love ruby more.
<Al2O3>
dot syntax is a bit much, but if kept in check and not too long or deep (3 levels of class methods) its manageable.
<Al2O3>
otherwise, its a library of weird obscurity that makes one think, C++
<Al2O3>
Maybe I have said this prior, but after a few years of rush to pressure in PCs, I have now come to realize its a lot less monitoring on NG stove with 3 PCs at a time, to ramp up slowly, 30-45 mins and not have to monitor that, as well as monitor the PC time in the 2.5 hours.
<Al2O3>
totally sold on this method, its a no brainer.
<Al2O3>
yep, I'm slow, and learned, and once I get it, its perm.
johnjaye has joined #ruby
donofrio_ has joined #ruby
<Al2O3>
like an 80s hair design. :)
donofrio has quit [Ping timeout: 240 seconds]
<[0x1eef]>
I find Objective-C to be really weird. But only because of the long method names.
bougyman has joined #ruby
<Al2O3>
it was practice to not worry about that, with auto-fill
<Al2O3>
the IDEs in the early 2000s did that for you, apple/next.
<Al2O3>
now, its common, just tab complete.
<Al2O3>
thank you simson garfinkel and company.
<[0x1eef]>
Yeah. Plus to some extent, that's not really the language but a common convention within the language.
<Al2O3>
most people have issued with ObjC with Brad's notation to deal with messaging.
<Al2O3>
aka, brackets
<Al2O3>
[ and ]
<Al2O3>
dot syntax is about the same, just java and C++ like.
<Al2O3>
so pick your nose, or your language, but don't pick your language's nose.
<[0x1eef]>
I wonder will Swift ever replace ObjC or is there certain things ObjC will always be better at ?
<Al2O3>
I can't say.
<cappy>
Al2O3: I've written in C and Perl mostly. Tried the O-O with Java and it didn't stick. Touched on the debate between C++ and C# pros & cons, then tried Rust and found the exe's bloated :(
<Al2O3>
of the high level langs I find ST the simplest, both in syntax and concept.
<Al2O3>
of the low levels, FORTH
<Al2O3>
of the middle ground, ObjC and maybe (not don't commercial Swift) the newer incarnations.
<Al2O3>
for the best bang for the buck, ASM core on your machine, then FORTH, then C, and after that layers on layers of garbage for a project or abstraction that makes contractor money.
<Al2O3>
however, and important, the best solution is one you are productive with, comes easy, and you understand.
<Al2O3>
and you can make a living with, and there is long term markets.
<Al2O3>
there are plenty of legacy COBOL/FORTRAN/etc experts making a nice living and sleeping well at night.
<[0x1eef]>
Plus Objective-C centers around the Apple ecosystem mainly. It's niche in every aspect :)
<Al2O3>
that is true, Brad would be disappointed, but it was NeXT centric, and became Apple centric.
<Al2O3>
at the time in '86 or so, it was a morph from ST and ATG at apple to a language NeXT and others could use.
<Al2O3>
It has not passed its prime, but its nearing it.
<Al2O3>
I have never liked typing [ or ] as vs ( or ) or .
<Al2O3>
with AI code generation now common reality, I'm not sure typing matters any more.
<Al2O3>
its 5th generational, specify with rules and a code is written.
<Al2O3>
maybe 6th, not sure.
<Al2O3>
I'm so out of it, could actually care less.
<[0x1eef]>
Lol
<bougyman>
Heya, does anyone know how to request an invite to the ruby-developers slack? Their webform redirects to a heroku app that's 404.
<Al2O3>
so the qwerty vs devorak argument is as silly as vi vs emacs
<Al2O3>
404 is your buddy :)
<cappy>
Al2O3: Your point, the "one you are productive with..." rings true. I just didn't like Java, even after revisiting it, somewhat forcing myself to learn it because it was hot and everyone else was on-board.
<bougyman>
No, it's really not :)
<Al2O3>
:)
<bougyman>
manveru: are you in that slack?
<Al2O3>
splitboards vs IBM selectrics.
<Al2O3>
the mid 90s cappy, SUN and java, the big web thing, it was hip
<cappy>
Most of my work was in RDBMS; the hierarchical models started coming in vogue as the "new thing" when in fact they pre-dated relational. I had to turn away some work b/c it didn't make sense at the time to convert models.
<cappy>
Looking at that IORCC page. I'll see what I can get out of that.
rvalue has quit [Ping timeout: 252 seconds]
donofrio__ has joined #ruby
donofrio_ has quit [Ping timeout: 252 seconds]
joako has quit [Quit: quit]
joako has joined #ruby
TomyWork has quit [Remote host closed the connection]
<Al2O3>
lol, its a joke, on the IOCC or such.
<Al2O3>
lasted one year, apparently resurrected, and of course has to be taken tongue in cheak/eek.
<Al2O3>
clearly the C crowd could not take the joek.
<Al2O3>
ruby either, they wants abstraction, not obfuscation.
<Al2O3>
cheek/joke/trend, the layers of obtuse abstraction made for job security, and if not HIH, the created, or user was ostracized.
<Al2O3>
the insecurity of language, process, understanding is still the same, some have made a living with bridges from one to the other, most have made careers or books/tours with the other.
<Al2O3>
pragmatic folks come to mind, so do a slew of others.
CanuteTheGreat has quit [Read error: Connection reset by peer]