# Re: Shortcut for .pack("p\*").unpack("l").first?

**URL:** <https://www.ruby-forum.com/t/re-shortcut-for-pack-p-unpack-l-first/94404>\
**Category:** Ruby\
**Created:** [May 3, 2006, 6:58pm UTC](https://www.ruby-forum.com/t/re-shortcut-for-pack-p-unpack-l-first/94404 "2006-05-03T18:58:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![BergerS\_Daniel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/bc8723/32.png) [@BergerS\_Daniel](https://www.ruby-forum.com/u/BergerS_Daniel)\
**Post date:** [May 3, 2006, 6:58pm UTC](https://www.ruby-forum.com/t/re-shortcut-for-pack-p-unpack-l-first/94404/1 "2006-05-03T18:58:00Z")

</div>

> > > an extension then there’s probably an easier way to get at the  
> > > str2 = “hello”
> > 
> > # Using string addresses
> > 
> > strcmp2.call(addr1, addr2) # 0  
> > strcmp2.call(addr1, addr3) # -1
> 
> Now you lost me again: if you can use a string as well as a  
> pointer then why bother to use the pointer? Are there places  
> where you cannot do that?

Yes, pointers to pointers. Typically for unraveling data structures.

> Just a thought: does it make sense to raise an exception or  
> print a warning if the string is not frozen? Otherwise the  
> address could point into limbo…

Hm, good point.

Dan

This communication is the property of Qwest and may contain confidential  
or  
privileged information. Unauthorized use of this communication is  
strictly  
prohibited and may be unlawful. If you have received this communication  
in error, please immediately notify the sender by reply e-mail and  
destroy  
all copies of the communication and any attachments.
